回覆列表
-
1 # 藍風24
相關內容
- 連結串列的逆序輸出(遞迴呼叫)?
- 一個帶頭結點的單鏈表,L為連結串列的頭指標,設計算法刪除連結串列中的偶數結點?
- 編寫一個演算法從表頭指標為HL的單鏈表中查找出具有最大值的結點該最大值由函式返回若單鏈表為空則中止執行?
- 1、建立一個帶頭結點的單鏈表(頭指標為head),且遍歷此連結串列(輸出連結串列中各結點的值)?
- 從表頭插入節點建立單鏈表的演算法如何寫?
- 定義一個帶表頭結點的單鏈表類?
- 2.設計一個演算法,將單鏈表中結點以逆序排列。逆序的單鏈表中的結點均為原表中的結點?
- 有一個有序單鏈表(從小到大排序),表頭指標為head,編寫一個函式向該單鏈表中插入一個元素為x的結點,使?
- 對單鏈表中元素按插入方法排序的C語言描述演算法如下,其中L為連結串列頭結點指標。請填充演算法中標出的空白處?
演算法思想
一次遍歷連結串列,並將結點指標反轉,在逆置的時候要注意單鏈表兩端的處理(即表頭結點和表尾結點)
LinkList ReverseLinkList( LinkList L)
{
Lnode *p, *pre, *s;
p = L -> next;
s = p -> next;
p -> next = NULL;//處理第一個結點,指標指向NULL,因為逆置後它將是尾結點
while( s != NULL) //當s為空的時候說明p已經指向連結串列的最後節點了
{
pre = p;
p = s;
s = s ->next;
p -> next = pre; //指標反轉
}
L ->next = p; //處理最後一個結點,頭結點的指標指向它
return L;
}