題目描述:在已知單鏈表頭節點的情況下,設計演算法逆置單鏈表並輸出
方法一:採用首先將頭節點指向空,讓其變為尾節點,然後利用中間節點 p、q 將其後的節點乙個接乙個改為指向前面的節點
* 環境:vs2013
* 功能:實現建立乙個節點可控的單鏈,並逆置輸出
****************************/
[cpp]
view plain
copy
#include "stdafx.h"
#include
using
namespace
std;
struct
list
; list *createlist(int
n)
//建立含有n個節點的單鏈表
else
q = p;
} q->next = null;
return
head;
} list *reverselist(list *head) //逆置單鏈表
return
head;
} void
print(list *head)
//輸出逆置後的單鏈表
cout <
} int
_tmain(
intargc, _tchar* argv)
方法二:用p,q指向單鏈表中相鄰的兩節點,將r指向q的下乙個結點,然後同步後移。當q=null時,表示指向原單鏈表的尾結點,將p賦值為頭節點 head 即可。
逆置函式**如下(其他部分不變):
list *reverselist(list *head)
head->next = null; //將原head變為逆置後鍊錶的表尾
head = p; //逆置後新的表頭
return head;}
單鏈表逆置實現(C )
對於單鏈表的逆置有兩種方法可以實現 1 利用輔助指標實現 基本思想 在遍歷結點的過程中,設定輔助指標,用於記錄先前遍歷的結點。這樣依次遍歷的過程中只需修改其後繼結點的next域即可。實現 如下 typedef int datatype 型別定義 typedef struct nodelinkedno...
單鏈表的逆置 C 實現
對於單鏈表的逆置有兩種方法可以實現 1 利用輔助指標 基本思想 在遍歷結點過程中,設定輔助指標,用於記錄先前遍歷的結點。這樣依次編譯的過程中只需修改其後繼結點的next域即可。實現 cpp view plain copy print typedef int datatype 型別定義 typedef...
單鏈表的逆置 C 實現
文章出自 對於單鏈表的逆置有兩種方法可以實現 1 利用輔助指標 基本思想 在遍歷結點過程中,設定輔助指標,用於記錄先前遍歷的結點。這樣依次編譯的過程中只需修改其後繼結點的next域即可。實現 cpp view plain copy print?typedef intdatatype 型別定義 typ...