單鏈表的排序思路

2021-06-18 13:39:17 字數 339 閱讀 9499

今天看了一下單鏈表的排序,目前有兩種方法:

1. 值替換

另指標x,y同時指向head,之後y=y->next,當找到乙個大於pilot時,與x的值替換,同時x=x->next,當y到底的時候,x的位置就是中間位置,以此遞迴

2. 鍊錶替換

另x=head,y=tail,之後x=x->next,當x的值大於pilot時,新增此node到y,然後y=y->next,當x到原先的head時,x的位置就是中間位置,以此遞迴

此外,今天閒著無聊看了會effective stl,發現用處不大,很多演算法在mps這邊基本用不到,不知道別的地方用不用到

以上

單鏈表反轉思路

單鏈表反轉,就地反轉的思路,需要設定三個指標。pre,cur,next.但是這三個指標第一次使用以及第一次分別指向那裡很關鍵。如乙個鍊錶 1 2 3 4 5 6 null 此時鍊錶的最後乙個元素一定是等於null。因此當這個鍊錶反轉後,就應該是這樣 null 1 2 3 4 5 6.所以先定義pre...

單鏈表之排序單鏈表

package list public class sortedsinglylist extends singlylist 將values陣列中的所有物件按值大小插入 public sortedsinglylist t values 過載深拷貝,由單鏈表構建排序單鏈表 public sortedsi...

單鏈表的排序

這是前幾天hottey面試的乙個題目 不借助外部陣列,只對鍊錶本身進行操作來完成排序。我覺得甚有意思,便實現了乙個。程式 如下 include using namespace std template struct node 節點結構 template class slist 單鏈表結構 slist...