單鏈表的選擇排序

2022-08-27 04:42:11 字數 724 閱讀 3307

給定乙個無序單鏈表,實現單鏈表的選擇排序(按公升序排序)。

**注釋挺詳細,直接上**!

#include #include 

struct

node;

void printlist(struct node *head)

}struct node * selectsort(struct node *head)

/*選擇排序

在原煉表中一輪輪地找最大的那個結點,找到之後就把它從原煉表中抽出來用頭插法加到新的鍊錶中。

需要注意這個最大的結點是否為頭結點

*/ pret=t;

t=t->next;

}//2、讓這個結點離開原鍊錶

if(max==head)//

如果找到的結點是第乙個結點

head=head->next;//

讓頭指標向後移一位就行

else

premax->next=max->next;

//3、把此結點頭插法插入新鍊錶

max->next=head1;

head1=max;

}return

head1;

}int

main()

else

q=p;

}printlist(selectsort(head));

}

單鏈表的排序 選擇排序

雖然鍊錶排序沒有多大的用處,但是還是可以看看.經典演算法 單鏈表選擇排序第一種 include include typedef struct node linklist,node linklist creat int n r next null return head void output lin...

016 單鏈表的選擇排序

package com.my.util 單向鍊錶節點 public class singlenode package com.my.suanfa import com.my.util.singlenode 單鏈表的選擇排序 時間複雜度o n 2 額外空間複雜度o 1 時間複雜度與選擇排序一樣都是o ...

單鏈表之排序單鏈表

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