兩兩反轉單鏈表就是把每兩個數反轉一次。如:
a -> b -> c ->d -> e -> f兩兩反轉後變為 b -> a -> d ->c -> f -> e。
具體**如下:
#include using namespace std;
struct node;
void display(node *head)// 列印鍊錶
else
}cout << endl;
}node* reverselist(node* head)// 兩兩反轉鍊錶
node* init(int num) // 建立鍊錶
cur->next = null;
return head;
}int main( )
這裡用到了遞迴,關於遞迴函式內部的執行順序詳見:
整個兩兩反轉過程如下所示:
單鏈表 兩種方法簡單實現單鏈表逆置
方法一 反轉前後指標,通過建立三個指標的移動,將兩兩相鄰的結點依次進行反轉。單鏈表的逆置 相鄰指標 pnode reverselist pnode phead pcur pnext ppre return pcur 方法二 頭插法,新建乙個頭結點,將原鍊錶的結點依次頭插到新鍊錶中。單鏈表的逆置 頭插...
面試題目 單鏈表的反轉(兩種方法)
2.3 2.4 總結 3 方式二 新建鍊錶,頭節點插入法 3.3 3.4 總結 單鏈表node的資料結構定義如下 class listnode 2.1 思路 把當前鍊錶的下乙個節點pcur插入到頭結點dummy的下乙個節點中,就地反轉。dummy 1 2 3 4 5的就地反轉過程 dummy 2 1...
Java單鏈表實現 附上兩種鍊錶反轉到實現方式
前幾天因為乙個現場演示需要,現場實現手動實現了乙個單鏈表,今天整理臨時檔案看到了這塊 就簡單整理了一下,發上來記錄一下。created by leon.l on 2018 3 29.desc 模擬鍊錶 public class linkedobj public linkedobj public vo...