(1)實現鍊錶的逆置:可以參考有示意圖)
[cpp]view plain
copy
node *inverselinklist(node *head)
p1=head;
p2=p1->next;
while (p2)
head->next=null;
head=p1;
return head;
}
(2)用普通演算法實現兩個有序鍊錶的合併
[cpp]view plain
copy
node *mergelinklist(node *head1,node *head2)
else
if (null==head)
else
} temp=(p1?p1:p2);
while (temp!=null)
cur->next=null;
return head;
}
(3)用遞迴演算法實現兩個有序列表的合併
[cpp]view plain
copy
node *mergerecursion(node *head1,node *head2)
if(null==head2)
node *head=null;
if (head1->value<=head2->value)
else
return head;
}
(4)判斷單鏈表中是否存在環
[cpp]view plain
copy
bool i***itsloop(slist *head)
return !(fast == null || fast->next == null);
}
C 筆試題(單向鍊錶)
ifndef f test 2017 11 11 11 jhaskdfjhasf h define f test 2017 11 11 11 jhaskdfjhasf h include 單向鍊錶操作 template struct fsingletonnode 清空節點所有資料 template ...
鍊錶常見筆試題
鍊錶的一些常見筆試面試問題總結及 先什麼也不說,假設鍊錶節點的資料結構為 struct node 建立單鏈表的程式為 struct node create unsigned int n node p head for unsigned int i 1 i n i return head 問題1 鍊錶...
鍊錶 鍊錶常見筆試題和面試題 C語言
本文為鍊錶常見的筆試題和面試題,包含鍊錶反轉 判斷鍊錶是否有環 查詢環形入口 查詢公共結點 合併兩個有序鍊錶 查詢倒數第k個結點 查詢中間結點 刪除有序鍊錶重複結點。node list reverse node head node p head node q head next node r q n...