導航:首頁 > 編程語言 > java單鏈表逆序

java單鏈表逆序

發布時間:2023-09-13 04:31:49

Ⅰ 用java來編寫一個單鏈表類的成員函數,實現對頭結點的單鏈表就地逆置的操作

逆置有兩種方法,第一是把所有節點反過來。還有一種就是改變節點中的值。
第一種情況,其實可以考慮用頭插法,來實現逆置。
下面的演算法是基於頭插法的思想,逆置鏈表的,僅供參考。
LinkList anti_linklist(LinkList demo)
{
LInkList *p,*q;//work pointer
LinkList head;
head=new LinkList();
head->next=null;//init head pointer
p=demo->head->next;//make p points to the first node
if(p==null)
return null;//the linklist is null
while(p!=null)
{
q=p;
q->next=head->next;
head->next=q;
p=p->next;
}
}

Ⅱ 設有一個表頭為first的單鏈表,式設計一個演算法,通過遍歷一趟鏈表,將鏈表中所有節點按逆序鏈接

演算法思想
一次遍歷鏈表,並將結點指針反轉,在逆置的時候要注意單鏈表兩端的處理(即表頭結點和表尾結點)
LinkList ReverseLinkList( LinkList L)
{
Lnode *p, *pre, *s;
p = L -> next;
s = p -> next;
p -> next = NULL;//處理第一個結點,指針指向NULL,因為逆置後它將是尾結點
while( s != NULL) //當s為空的時候說明p已經指向鏈表的最後節點了
{
pre = p;
p = s;
s = s ->next;
p -> next = pre; //指針反轉
}
L ->next = p; //處理最後一個結點,頭結點的指針指向它

return L;
}

閱讀全文

與java單鏈表逆序相關的資料

熱點內容
qt下編譯生成mqtt庫 瀏覽:541
南京中興招收專科程序員嗎 瀏覽:297
代理商php源碼 瀏覽:983
蘋果手機怎麼解壓軟體app 瀏覽:650
游戲資源被編譯 瀏覽:152
代碼編譯後黑屏 瀏覽:8
程序員情侶寫真 瀏覽:505
python3孿生素數 瀏覽:36
計算楊輝三角Python 瀏覽:404
linux目錄重命名 瀏覽:196
演算法設計的最終形態是代碼 瀏覽:262
程序員社團招新橫幅 瀏覽:238
拖鞋解壓視頻大全 瀏覽:887
租伺服器主機鏈接軟體叫什麼 瀏覽:856
交叉編譯工具的linux版本號 瀏覽:156
python開發應用軟體 瀏覽:32
hdl綜合器與c編譯器的區別 瀏覽:899
編譯原理最左推導代碼 瀏覽:702
加密三 瀏覽:131
通過編譯鏈接後形成的可執行程序 瀏覽:680