合併鍊錶 線性表 C語言

2021-10-16 03:22:51 字數 1001 閱讀 4077

今天寫寫鍊錶,新學的,啊 。。。這。有點難。

題目要求:

(線性表)假設有兩個按元素值遞增次序排列的線性表,均以單鏈表形式儲存。請編寫演算法將這兩個單鏈表歸併為乙個按元素值遞減次序排列的單鏈表,並要求利用原來兩個單鏈表的結點存放歸併後的單鏈表。

先上**:

#include

#include

typedef

struct mm//結構體都懂吧

*a,b;

int h=0;

void

fun(a head,

int n)

//這個函式是建立鍊錶

}a add

(a l1,a l2)

//這個函式是把兩個鍊錶合成乙個鍊錶,返回其頭指標

else

}//若其中乙個鍊錶的結點已經全接在新錶中則將另乙個鍊錶的剩餘結點接在新錶的後面

while

( l1!=

null

)while

(l2!=

null

) la->next=

null

;free

(lb)

;return l;

//這裡返回的就是上面標記的l

}void

fprint

(a l,

int t)

//這裡是遞迴反序,h為全域性變數,這裡為什麼要加乙個h計數呢,是因為,我建立的鍊錶是有頭結點的,如果不計數來限制數量,你會發現,最後會多輸出乙個數。

if(h}void

printflist

(a l)

//這個函式在這並沒有使用,因為,在上面的遞迴中已經輸出來了。

}int

main()

}*/fprint

(l3,t1+t2)

;//printflist(l3);

}

無序線性表合併(鍊錶)

分析 無序兩張表la,lb,需要遍歷lb查重再插入la尾 include include include include 包含exit標頭檔案 include include define ok 1 define error 0 define length a 5 define length b 3...

C語言,線性表 順序表 鍊錶

c語言資料結構中兩個常見的線性表,用來儲存資料等 一 建立順序表 定義 將線性表中的元素相繼存放在乙個連續的儲存空間中。可利用一維陣列描述儲存結構 特點 線性表的順序儲存方式 遍歷 順序訪問,可以隨機訪問 順序表 include define maxsize 100 定義陣列長度 define ok...

線性表 鍊錶

線性表的adt list.h 線性表的c 抽象類宣告 templateclass list 單鏈表節點的定義 link.h 單鏈表節點類的定義 template class link link link nextval null 鍊錶的實現宣告 成員函式的是實現 鍊錶的實現宣告 include st...