單鏈表逆置實現(C )

2021-08-21 14:43:25 字數 1147 閱讀 3859

對於單鏈表的逆置有兩種方法可以實現

(1)利用輔助指標實現

基本思想:在遍歷結點的過程中,設定輔助指標,用於記錄先前遍歷的結點。這樣依次遍歷的過程中只需修改其後繼結點的next域即可。

實現**如下:

typedef int datatype; //型別定義  

typedef struct nodelinkednode,*linklist;  

void reverselist(linklist& listhead)  

listhead->next=null;  //這一步會使新的尾結點的next域置空

listhead=ppre;        //記錄下新的頭結點  

}寫乙個完整的測試用例:

#include

#include

typedef struct node  //節點型別定義    

node;  

void printlist(node *head)   //列印鍊錶    

printf("%-4d\n", p->data);  

}  void reverse(node *&head)   //逆置    

//以下兩步,很重要    

head->next = null;  

head = pre;  

}  int main()  

;  node p7;  

node p5;  

node p3;  

node p1;  

node *head = &p1;  

printf("原表是\n");  

printlist(head);  

printf("逆置\n");  

reverse(head);  

printlist(head);  

system("pause");  

return 0;  

}  (2)遞迴實現

基本思想:在對當前結點逆置時,先遞迴地逆置其後繼結點,然後將後繼結點指向當前結點。

實現**如下:

void reverselist(linkednode* pcur,linklist& listhead)  

else  

}  

單鏈表的逆置 C 實現

對於單鏈表的逆置有兩種方法可以實現 1 利用輔助指標 基本思想 在遍歷結點過程中,設定輔助指標,用於記錄先前遍歷的結點。這樣依次編譯的過程中只需修改其後繼結點的next域即可。實現 cpp view plain copy print typedef int datatype 型別定義 typedef...

單鏈表的逆置 C 實現

文章出自 對於單鏈表的逆置有兩種方法可以實現 1 利用輔助指標 基本思想 在遍歷結點過程中,設定輔助指標,用於記錄先前遍歷的結點。這樣依次編譯的過程中只需修改其後繼結點的next域即可。實現 cpp view plain copy print?typedef intdatatype 型別定義 typ...

單鏈表的逆置 C 實現

對於單鏈表的逆置有兩種方法可以實現 1 利用輔助指標 基本思想 在遍歷結點過程中,設定輔助指標,用於記錄先前遍歷的結點。這樣依次編譯的過程中只需修改其後繼結點的next域即可。實現 cpp view plain copy print?typedef intdatatype 型別定義 typedef ...