自己理解的思路如下所示:
從第二個節點開始,先記錄下乙個節點,把第二個節點移到頭節點之前,
頭節點變為移動的這個節點
之前記錄的節點變為接下來要移動的節點
用for迴圈重複
最後把原來頭節點變成尾節點(*next指向null)
返回鍊錶 的頭節點
c語言實現**如下:
struct stu *reserve(struct stu *head)
head->next=null; //移動完畢後原來head變為表尾,讓它指向為空
head=p1; //指向逆轉後的頭節點
return head;
c實現逆轉單向迴圈鍊錶
1.帶頭結點實現 include include typedef struct nodelinknode,linklist void reverseonewaycircularlinkedlist linklist head p next head 沒有必要 p head while p next ...
C 單向鍊錶就地逆轉
給定乙個單鏈表l,設計函式reverse將l就地逆轉。即不需要申請新的節點,將第乙個節點轉換為最後乙個結點,第二個節點轉換為倒數第二個結點,以此類推。迴圈處理整個鍊錶。將原鍊錶的第乙個結點取出,作為逆轉後新鍊錶的第乙個結點 即新鍊錶的煉表頭 同時原鍊錶的第二個結點更新為原鍊錶的煉表頭。之後不斷取出原...
C語言單向鍊錶實現
include include typedef struct node listnode typedef listnode linklist 帶頭節點的單鏈表 初始化單鏈表只有頭節點 void initlinklist linklist linklist 建立乙個單鏈表 linklist creat...