鍊錶的基本操作

2022-09-02 20:45:10 字數 1487 閱讀 3206

實習目的:熟練掌握鍊錶的建立及基本操作

問題描述:

1)實現鍊錶的排序(公升序)

2)實現兩個有序鍊錶的合併:a=a∪b,要求合併後仍然有序。

提交前請將所有的提示資訊去掉,只保留最後的輸出結果。例如執行時:從鍵盤直接輸入:

2 1 2

3 1 2 3 

輸出結果為:12

3分別表示第乙個鍊錶元素個數為2,元素分別為 1,2 ;第二個鍊錶元素個數為3,元素分別為1,2,3。

例如:輸入

result

2 2 1

3 1 2 3

1

23

第一問是通過對鍊錶的操作,利用氣泡排序,完成該操作。

對於第二問則是利用查詢來實現a=a∪b

實現過程:

一、首先構造鍊錶

1

class

list;

2class

linknode

313 linknode(const

int & item, linknode *ptr =null)

1418 ~linknode() {};

19};

20class

list

21//建構函式,開闢新空間

2930

void qsort ( int

n);//排序

31void insert (int

x );//插入

32void

union(list b);//並運算

33void input(int

endtag);//輸入

34void

output();//輸出

35 };

二、利用前插法構建鍊錶

1

void list :: input (intn)2

13 }

三、利用冒泡進行排序

void list ::qsort ( int

n) p=p->link;}}

}

四、利用查詢進行合併

void list ::union(list b)

p1=p1->link;

}if(f==0)

p=p->link;}}

附錄:插入函式

1

void list ::insert (int

x )2

五、進行輸出

1

void

list ::output ( )

29 }

六、主程式

1

intmain()

2

七、簡單介紹

本部落格寫的比較傻瓜,比較簡單,因為是早期寫的程式,有些地方呼叫不太合理,請見諒。

鍊錶的基本操作

include include include include using namespace std struct listnode void initnode listnode node bool isempty listnode head void pushfront listnode hea...

鍊錶的基本操作

鍊錶操作是最基本的 必須掌握的知識點,最好滾瓜爛熟,透徹理解。工作時間短用的也不夠頻繁,還是總結一下比較好,以加強鞏固。1.單鏈表 結點形式 區分幾個概念 首節點 第乙個元素所在節點。頭指標 指向首節點的指標。頭結點 為了操作方便,在第乙個節點之前附設的乙個結點,此時指向頭結點的為頭指標。基本操作 ...

鍊錶的基本操作。。。

include node.h 列印鍊錶 void print node head printf n 從尾部插入 void insert tail node head,const int d while t next null t next p p next null 從頭部插入 void inser...