當前位置:編程學習大全網 - 編程軟體 - 什麽叫單鏈表就地逆置?

什麽叫單鏈表就地逆置?

1、單鏈表就地逆置是壹種算法。

2、如果是順序存儲的話,我們很容易想到解題思路,利用1個輔助變量讓第1個元素與第n個元素交換,然後再利用這個輔助變量讓第2個元素與第n-1個元素交換,...最後利用這個輔助變量讓第n/2個元素與第n+1-n/2個元素交換。

3、如果不要求“就地”的話,可以創建壹個n個元素輔助數組,壹次訪問單鏈表中的每個元素,並存儲到該數組中,然後再依次訪問單鏈表中的每壹個元素,同時從該數組的末尾開始為單鏈表中的元素賦值,直到數組第1個元素的值賦值給單鏈表最後壹個元素。

4、如果單鏈表為空或單鏈表中只有頭結點,那麽單鏈表不需要逆置,如果單鏈表中只有壹個元素,逆置之後它的位置還是不會改變,所以可以不逆置。當單鏈表中有2個或兩個以上的元素時,從第1個元素斷開,令它的next為空,依次訪問第2個元素到第n個元素,當訪問到其中的任意壹個元素時,將它插入到頭結點之後,也就是把它插入到第1個位置,這樣原始的第1個元素就會被後面的n-1個元素插入到它的前面,原始的第2個元素就會被後面的n-2個元素插入到它的前面,...直到原始的第n個元素插入到第1個位置。這樣就實現了帶頭結點的單鏈表的就地逆置。

  • 上一篇:如何利用python實現類似c語言的***同體?
  • 下一篇:C語言。輸入整數n,輸出高度為n的等邊三角形。
  • copyright 2024編程學習大全網