鍊錶的 建立 列印 刪除 排序 拆分

2021-09-23 23:33:43 字數 1473 閱讀 8038

廢話不多說系列1

最近浪浪才學完鍊錶,相信好多人應該和我一樣,面對鍊錶的相關操作也是頭疼的很。對於鍊錶環環相扣的結構開始對新手來說確實是不太好理解,更不用說自己對鍊錶進行其他的一系列操作了。但是如果你能夠通過畫圖把鍊錶的結構給弄懂了,那麼其實你會發現操作鍊錶就像是運算元組的元素樣簡單。

進入正題:

廢話不多說系列2:鍊錶的建立是基礎,刪除,查詢,排序,拆分都得先有個鏈在這把(說好的廢話不多說,那就醬叭!)

鍊錶的建立主要有靜態鍊錶還有動態鍊錶(其實還有雙向鍊錶,但是本浪還沒有深入學習,所以需要你的關注,待後更新,5555)

廢話不多說系列3:靜態鏈用的比較少,而且比較簡單(不是來拉仇恨的2333),就是簡單的接鏈,所以直接上乾貨。。。。

#includeusing namespace std;

typedef struct studentstu;

void print(stu* head)

}int main()

//下面的過程就是機械地接鏈過程了

head=&stu[0];

stu[0].next =&stu[1];

stu[1].next =&stu[2];//把上面地宣告換成指標,這裡換成箭頭來進行輸入也是可以的

*廢話不多說系列4:動態鍊錶我們用的比較多,本浪認為主要是動態鍊錶能夠根據我們地需要進行自由地擴充套件,更加符合我們生活中的情況,但是這個鍊錶地建立對於初學者來說可能是比較困難的,當時本浪在學習的時候也是花了好一番功夫呢。但是既然是廢話不多說,所以在這裡還是要總結一下自己的學習經驗,好然更多的同學能很輕鬆的建立乙個動態鍊錶。那麼學習經驗就是:慢慢的都是套路******套路總結如下:******指標要三個

乙個頭,乙個探索指標,乙個尾隨指標

首個資料不空頭指向它,首個資料為空head=null;

探索指標malloc乙個讀入乙個,p2在判斷p1不空的時候緊跟上;

最終別忘了指向null;

**說這麼多,重要的就總結一句話:**需要三個指標…

下面的**只是給出函式題,其他的枝枝葉葉就由讀者自己補齊把

stu* creat()else

p2=p1;//p2跟進p1的步伐

p1=(stu*)malloc(len);

scanf("%s %d",p1->name,&p1->score);//這裡的重複申請主要是為了呼應while的迴圈判斷

} p2->next=null;

return head;

}

鍊錶 C 鍊錶建立 刪除 排序,合併

實現c 鍊錶的建立 刪除 排序 合併 保持單調不減 題目 建立鍊錶 對鍊錶進行排序 合併兩個排序的鍊錶 保持單調不減 合併思路 方法1 如果將兩鍊錶頭尾相接後再整體排序,複雜度太高。因此可以利用鍊錶已經排好序的特點進行逐步合併。用兩個指標p1 p2指向兩煉表頭結點head1 head2,並比較,顯然...

C語言 鍊錶的建立,插入,刪除,列印

include include include 結構體定義 struct node typedef struct node listnode 函式宣告部分 listnode createlist int n void insertlist listnode h,int i,char name,int...

鍊錶的建立 刪除節點 側長和列印

鍊錶的建立 刪除節點 側長和列印 include include include struct linknode typedef linknode linklist linknode addnode linknode p,int data int list length linklist head ...