實驗專案中文名稱:單鏈表
實驗專案英文名稱: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 所在的結點。單鏈表結構如下 ...