單鏈表的應用(c語言資料結構實驗報告一)

2021-10-08 01:23:46 字數 1858 閱讀 7977

實驗專案中文名稱:單鏈表

實驗專案英文名稱:single linked list

實驗教學的內容或要求

1.編寫函式,實現隨機產生或鍵盤輸入一組元素,建立乙個帶頭結點的單鏈表(無序)

2.編寫函式,實現遍歷單鏈表

3.編寫函式,實現把單向鍊錶中元素逆置

4.編寫函式,建立乙個非遞減有序單鏈表

5.編寫函式,利用以上演算法,建立兩個非遞減有序單鏈表,然後合併成乙個非遞減鍊錶。

6.編寫函式,在非遞減有序單鏈表中插入乙個元素使鍊錶仍然有序

7.編寫函式,實現在非遞減有序鍊錶中刪除值為x的結點

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

源**:

#include

#include

#include

#pragma warning(disable:4996)

typedef

int elemtype;

typedef

struct node

node,

*linklist;

linklist createlist()

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

return l;

}//2.遍歷單向鍊錶。

void

put(linklist h)

printf

("\n");

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

void

nizhi

(linklist h)

//將鍊錶逆置

}//4.實現在非遞減有序鍊錶中刪除值為x的結點

void

deleted

(linklist h,

int x)

l = l->next;}if

(l->next ==

null)}

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

void

insert

(linklist h,

int x)

if(p->data <= x&&p->next->data <= x)

if(p->data <= x&&p->next->data >= x)}if

(q !=

null)}

//6.構建非遞減有序單向鍊錶->遞增;

linklist sort

(linklist h)

linklist _head = h->next;

while

(_head !=

null

) linklist p = h->next;

linklist p_pre = p;

while

(i -1)

else

p_pre = p_pre->next;

temp = p_pre->data;

} p_pre->next =

null

; i--;}

return h;

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

void

hebing

(linklist h, linklist l)

sort

(l);

}//選單

void

menu()

//主函式

intmain()

}system

("pause");

return0;

}

單鏈表 資料結構實驗

資料結構實驗 單鏈表 實現順序表的各種基本運算 並在此基礎上設計乙個主程式,完成如下功能 1 初始化順序表l 元素型別為char型 2 依次採用尾插法插入a,b,c,d,e元素 3 輸出順序表l 4 輸出順序表l的長度 5 判斷順序表l是否為空 6 輸出順序表l的第3個元素 7 輸出元素 a 的位置...

資料結構實驗 單鏈表

編寫乙個完整的程式,實現單鏈表的建立 插入 刪除 輸出等基本操作。1 建立乙個帶頭結點的單鏈表。2 計算單鏈表的長度,然後輸出單鏈表。3 查詢值為x的直接前驅結點q。4 刪除值為x的結點。5 把單向鍊錶中元素逆置 不允許申請新的結點空間 6 已知單鏈表中元素遞增有序,請寫出乙個高效的演算法,刪除表中...

c語言 資料結構 單鏈表

將線性表l a0,a1,an 1 中各元素分布在儲存器的不同儲存塊,稱為結點,通過位址或指標建立它們之間的聯絡,所得到的儲存結構為鍊錶結構,表中 ai的結點形式如圖表示 其中結點的data 域存放資料元素 ai,而 next 域是乙個指標,指向 ai的直接後繼 ai 1 所在的結點。單鏈表結構如下 ...