將乙個鍊錶進行逆置:
如:10-->20-->30-->40 逆置後40-->30-->20-->10
分析:
方法一:
新建鍊錶:遍歷舊鍊錶,將舊鍊錶的結點依此頭插到新鍊錶中。
上**:
#include #include typedef struct node node;
//建立結點
node* buynode(int data)
//用建立新鍊錶的方式來進行逆置
node* reverse(node* head)
while (cur != null)
return result;
}void nodeprint(node* head)
while (cur != null)
return;
}int main()
方法二:在原煉表上操作:這時需要三個遍歷指標,pre、cur、next。cur:代表當前指標指向pre:代表當前指標的的前乙個結點的指向畫圖來表示一下:
上**:
//在原煉表上進行操作
node* reverse2(node* head)
} return pre;
}
逆置鍊錶有兩種方式:
1.新建鍊錶:遍歷原鍊錶,將原鍊錶的每個節點都頭插到新鍊錶中。
2.在原煉表上操作:利用三個遍歷指標來改變原煉表中每個結點的next指標指向。
注意遍歷鍊錶時跳出迴圈的條件。
資料結構與演算法 鍊錶逆置
這兩天溫度直降,看書的時候手總是不自覺的抖,索性自學完了鍊錶一章 今天重寫了鍊錶逆置的題 發現鍊錶題只要畫圖,弄清邏輯關係,還是很簡單的 希望能持之以恆 include includetypedef struct nodenode typedef struct node linklist linkl...
資料結構實驗之鍊表三 鍊錶的逆置
time limit 1000ms memory limit 65536k 輸入多個整數,以 1作為結束標誌,順序建立乙個帶頭結點的單鏈表,之後對該單鏈表的資料進行逆置,並輸出逆置後的單鏈表資料。輸入多個整數,以 1作為結束標誌。輸出逆置後的單鏈表資料。12 56 4 6 55 15 33 62 1...
資料結構實驗之鍊表三 鍊錶的逆置
資料結構實驗之鍊表三 鍊錶的逆置 輸入多個整數,以 1作為結束標誌,順序建立乙個帶頭結點的單鏈表,之後對該單鏈表的資料進行逆置,並輸出逆置後的單鏈表資料。輸入多個整數,以 1作為結束標誌。輸出逆置後的單鏈表資料。12 56 4 6 55 15 33 62 1 62 33 15 55 6 4 56 1...