單鏈表的建立 翻轉與列印

2021-10-02 13:20:36 字數 956 閱讀 9005

使用者給定乙個陣列,用陣列中元素建立鍊錶並翻轉。

#include

#include

//單鏈表節點的定義

typedef

struct node

listnode;

//單鏈表的列印

void

display

(listnode *list)

printf

("\n");

}//單鏈表的建立

listnode *

creatlist

(int a,

int length)

return head;

}//單鏈表的翻轉

//翻轉鍊錶,經典的三指標法,記錄當前節點(翻轉用)、前乙個節點、後乙個節點(翻轉之後前進用)

listnode *

reverselist

(listnode *list)

pre=

null

; cur=list;

while

(null

!=cur)

return pre;

}//驗證程式

intmain()

;int length=

sizeof

(a)/

sizeof

(int);

listnode *list,

*revlist;

list=

creatlist

(a,length)

;display

(list)

; revlist=

reverselist

(list)

;display

(list)

;display

(revlist)

;return0;

}

單鏈表的建立 刪除與列印

單鏈表的建立包括兩種方法,頭插法和尾插法。其中頭插法是將每個新新增的結點作為第乙個結點,緊緊跟在頭結點後面。尾插法是將每個新的結點作為最後乙個結點,要注意最後宣告最後乙個結點的指標為null。include iostream include ctime 產生隨機數 include cstdlib u...

建立線性單鏈表,並將單鏈表翻轉

package 資料結構 public class lianbiao public lianbiao 首先建立單鏈表的結點類。package 資料結構 鍊錶反轉 class lianbiao2 extends lianbiao1 public lianbiao2 int n public void ...

單鏈表的建立 排序和翻轉

鍊錶 1 注意是否有帶頭結點。2 單鏈表的建立 順序建表 尾插法 逆序建表 頭插法 3 單鏈表的插入 刪除操作需要尋找前驅結點。單鏈表的建立 排序和翻轉,都是針對有頭結點的單鏈表。include using namespace std typedef struct node node,list 順序...