導航:首頁 > 編程語言 > 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單鏈表逆序相關的資料

熱點內容
網站怎麼用本地伺服器 瀏覽:120
javadoc導入android 瀏覽:517
文件掃描成pdf 瀏覽:696
涼山火災救援命令 瀏覽:54
壓縮機三相檢測 瀏覽:861
linux怎麼安裝光碟 瀏覽:799
寬頻伺服器無響應是為什麼 瀏覽:226
壓縮包內看圖 瀏覽:914
安卓手機如何發現app後台調用情況 瀏覽:561
程序員簡歷工作描述 瀏覽:159
伺服器中強制疾跑的指令是什麼 瀏覽:54
日語命令性 瀏覽:261
免費的程序編譯游戲 瀏覽:892
如何安裝屏蔽的APP 瀏覽:198
豬臉識別app如何下載 瀏覽:156
卓嵐串口伺服器如何使用 瀏覽:440
pdf周振甫 瀏覽:759
程序員35歲生日圖片 瀏覽:628
矩形密封圈的壓縮量 瀏覽:457
信息安全中圖像加密技術畢業論文 瀏覽:538