使用者給定乙個陣列,用陣列中元素建立鍊錶並翻轉。
#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 順序...