2015 1 18鍊錶,列舉 專案一 動態鍊錶體驗

2021-06-28 07:01:57 字數 2153 閱讀 7770

問題及**:

/* 

*檔名稱 :mian.cpp

*作 者 :李楠

*完成日期 :2023年1月18日

*版 本 號 :v1.0

* *問題描述 :下面是乙個建立動態鍊錶的程式。閱讀程式,在草稿紙上畫出鍊錶建立的過程,

藉此學會如何建立鍊錶。然後按要求改造程式。

*輸入描述 :在上面的程式基礎上定義下面的函式,實現相應的功能。

為簡便起見,每編寫乙個函式,立刻在main函式中呼叫進行測試。

(1)編寫make_list2()函式建立鍊錶,使建立鍊錶時,後輸入的資料,將新輸入的數字對應的結點放在鍊錶末尾。

若輸入為3 5 2 9 4 7 0,建立的鍊錶為:

(2)編寫函式void search(int x),輸出鍊錶中是否有值為x的結點。

(3)編寫函式delete_first_node(),刪除鍊錶中的第乙個結點。

(4)編寫函式delete_node(int x),刪除結點值為x的結點。

(5)編寫make_list3()函式建立鍊錶,使建立鍊錶時,使結點中的資料呈現公升序。若輸入為3 5 2 9 4 7 0,建立的鍊錶為:

(6)編寫函式void insert(int x),將值為x的結點插入到由make_list3建立起來的有序鍊錶中。

*程式輸出 :略

*/

#include using namespace std;

struct node

;node *head=null; //將煉表頭定義為全域性變數,以便於後面操作

void make_list(); //建立鍊錶

void out_list(); //輸出鍊錶

void make_list2(); //建立鍊錶2

void search(int x); //輸出鍊錶中是否有值為x的結點

void delete_first_node(); //刪除列表中的第乙個結點

void delete_node(int x); //刪除結點值為x的結點

void make_list3(); //使建立鍊錶時。使結點中的資料呈現公升序

void insert(int x); //將值為x的結點插入到由make_list3建立起來的有序鍊錶中

int main( )

void make_list()

return;

}void out_list()

cout<>n;

while(n>0) //輸入若干正數建立鍊錶,輸入非正數時,建立過程結束

return;

}void search(int x)

else

p=p->next;

}if(flag==1)

cout<

delete p;

cout

if(head!=null)

else //q不該刪除,繼續考察下乙個

q=p->next; //總是p的下乙個結點}}

}return;

}void make_list3()

for(j=1;j<=n-1;j++)

for(i=0;ia[i+1])

i=0;

while(a[i]>0) //輸入若干正數建立鍊錶,輸入非正數時,建立過程結束

return;

}void insert(int x)

//應該找到合適的位置後,將結點插入

//此時,鍊錶中至少已經有乙個結點,且插入結點不是首結點

else

if(q==null) //q為null,作為最後乙個結點直接插入到p後即可

else //t插入到p和q之間}}

return;

}

執行結果:

知識點總結:

鍊錶的知識學習了好長時間了,忘了很多,又看了一遍課堂實錄才一點一點記憶起來,不過還有些細節沒有記起來,一點點學吧…

學習心得:

考試之前的心思不在學習新課上,所以學的不牢固,幸虧有個假期作業~

動態建立鍊錶及列印鍊錶 (鍊錶學習 一)

動態建立鍊錶主要思想 定義三個執行結構體型別資料的指標,head,p1,p2,當輸入的值p1 num不為0並且為第乙個節點的時候,把該節點賦給頭結點 p1這個指標,主要是用來指向剛輸入過資料的節點,p2這個指標,主要負責把p1剛輸入的資料的這個節點加到鍊錶中來。當輸入為0時程式結束,返回頭結點,具體...

靜態鍊錶和動態鍊錶

鍊錶分為兩種 動態和靜態 動態的結合相關函式能動態開闢記憶體,特點就是不會浪費記憶體單元 靜態鍊錶則沒有這個優點。靜態鍊錶和動態鍊錶是線性表鏈式儲存結構的兩種不同的表示方式。靜態鍊錶的初始長度一般是固定的,在做插入和刪除操作時不需要移動元素,僅需修改指標。動態鍊錶是相對於靜態鍊錶而言的,一般地,在描...

鍊錶 共用體

define crt secure no warnings include include include define len sizeof struct student 靜態鍊錶 struct student int main1 while p null 建立單向動態鍊錶 思路 讓p1指向新開闢...