對於單鏈表的逆置有兩種方法可以實現
(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 ...