資料結構實驗一 線性表的有關操作

2021-08-18 03:57:44 字數 2473 閱讀 3937

實驗學時 2學時

背景知識:順序表、鍊錶的插入、刪除及應用。

目的要求:

(1)掌握線性表的基本運算在兩種儲存結構(順序結構和鏈式結構)上的實現;

(2)掌握線性表的各種操作(建立、插入、刪除等)的實現演算法;

實驗內容:

1.隨機產生或鍵盤輸入一組元素,建立乙個帶頭結點的單向鍊錶(無序)。

2.遍歷單向鍊錶。

3.把單向鍊錶中元素逆置(不允許申請新的結點空間)。

4.在單向鍊錶中刪除所有的偶數元素結點。

5.編寫在非遞減有序鍊錶中插入乙個元素使鍊錶元素仍有序的函式,並利用該函式建立乙個非遞減有序單向鍊錶。

6.利用演算法5建立兩個非遞減有序單向鍊錶,然後合併成乙個非遞增鍊錶。

7.利用演算法5建立兩個非遞減有序單向鍊錶,然後合併成乙個非遞減鍊錶。

8.利用演算法1建立的鍊錶,實現將其分解成兩個鍊錶,其中乙個全部為奇數,另乙個全部為偶數(盡量利用已知的儲存空間)。

* 9.採用單向鍊錶實現一元多項式的儲存並實現兩個多項式相加並輸出結果。

10.在主函式中設計乙個簡單的選單,分別除錯上述演算法。

*11.綜合訓練:利用鍊錶實現乙個班級學生資訊管理(資料錄入、插入、刪除、排序、查詢等,並能夠實現將資料儲存到檔案中)

實驗說明

1.演算法1至演算法7可以以標頭檔案的方式儲存,主函式實現該標頭檔案的包含即可呼叫

2.儲存定義

#define maxsize 100  //表中元素的最大個數

typedef

int elemtype;//元素型別

typedef

struct

listsqlist;//順序表的型別名

3.建立順序表時可利用隨機函式自動產生資料。

實驗說明

1.型別定義

#include 

typedef

int elemtype;//元素型別

typedef

struct lnode

lnode,*linklist;

2.為了演算法實現簡單,最好採用帶頭結點的單向鍊錶。

注意問題

1.重點理解鏈式儲存的特點及指標的含義。

2.注意比較順序儲存與鏈式儲存的各自特點。

3.注意比較帶頭結點、無頭結點鍊錶實現插入、刪除演算法時的區別。

4.單向鍊錶的操作是資料結構的基礎,一定要注意對這部分的常見演算法的理解。

#include

#include

#include

<

string

.h>

using namespace std;

typedef int elemtype;

typedef struct lnode

lnode,*linklist;

void creat(linklist &l)

p->next=

null;

}void display(linklist l)

cout<}void reverse(linklist &l)

q=new lnode;

q->next=p;

l=q;

}void deleven(linklist &l)

p=p->next;

}}void insert(linklist &l,linklist &q)

int flag=

0; while(p->next!=

null)

p=p->next;

}if(flag==

0)

else

}return;

}void creat2(linklist &l)

}void merge(linklist &a,linklist &b)

}void divide(linklist &l)

else

p=p->next;

}a->next=

null;

b->next=

null;

display(a);

display(b);

}int main()

case

2:

case

3:

case

4:

case

5:

case

6:

case

7:

case

8:

case

9:

case

10:

case

11: }}

return

0;}

(資料結構)實驗一 線性表的有關操作

實驗內容 1 隨機產生或鍵盤輸入一組元素,建立乙個帶頭結點的單向鍊錶 無序 2 遍歷單向鍊錶 顯示 3 把單向鍊錶中元素逆置 不允許申請新的結點空間 4 在單向鍊錶中刪除所有的偶數元素 值為偶數 結點。5 編寫在非遞減有序鍊錶中插入乙個元素使鍊錶元素仍有序的函式,並利用該函式建立乙個非遞減有序單向鍊...

資料結構實驗一 線性表的相關操作

題目內容 將單鏈表每個元素的值改為該結點值加上後繼結點值,若沒有後繼元素則保持不變。例如,已知單鏈表為 2 4 10 6 則修改後為 6 14 16 6 輸入輸出說明 輸入 6 單鏈表元素個數 10 30 20 60 80 91 正序輸入單鏈表元素值 輸出 40 50 80 140 171 91 修...

C 資料結構實驗一線性表

實驗內容 1.建立乙個順序表,隨機產生 10 個 100 以內的整數,並按要求完成 1 編寫顯示函式,在螢幕上顯示順序表中的 10 個整數 2 編寫查詢函式,從鍵盤輸入任一整數在順序表中查詢,若找到,返回該元素在順序表中的位置,否則提示無此元素 3 編寫插入函式,從鍵盤輸入待插入元素及插入位置,將完...