用C 實現單鏈表的建立 逆置和輸出 的兩種方法

2021-08-10 23:40:46 字數 1105 閱讀 7043

題目描述:在已知單鏈表頭節點的情況下,設計演算法逆置單鏈表並輸出

方法一:採用首先將頭節點指向空,讓其變為尾節點,然後利用中間節點 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...