資料結構與演算法 ~ 排序 ~ 選擇排序
/*sort--selectsort*/
#include#includevoid selectsort(int *list,int len)/*if*/
print(list,len);
}/*for*/
}/*selectsort*/
int minkey(int *list,int i,int len)/*if*/
}/*for*/
return k;
}/*minkey*/
int print(int *list,int len)/*print*/
int main ()/*while*/
printf ("\n====初始的序列為:*****");
print(list,len);
printf("length=%d",len);
printf("\n*************************===");
selectsort(list,len);
printf ("\n*****=排序結果是:*****== :");
print(list,len);
system("pause");
exit(0);
}
執行結果:
請輸入待排序的數字(exit for 0)
5948
7596
8623
3759
6514
0====初始的序列為:*****
當前序列是 : 59, 48, 75, 96, 86, 23, 37, 59, 65, 14,length=10
*************************===
當前序列是 : 14, 48, 75, 96, 86, 23, 37, 59, 65, 59,
當前序列是 : 14, 23, 75, 96, 86, 48, 37, 59, 65, 59,
當前序列是 : 14, 23, 37, 96, 86, 48, 75, 59, 65, 59,
當前序列是 : 14, 23, 37, 48, 86, 96, 75, 59, 65, 59,
當前序列是 : 14, 23, 37, 48, 59, 96, 75, 86, 65, 59,
當前序列是 : 14, 23, 37, 48, 59, 59, 75, 86, 65, 96,
當前序列是 : 14, 23, 37, 48, 59, 59, 65, 86, 75, 96,
當前序列是 : 14, 23, 37, 48, 59, 59, 65, 75, 86, 96,
當前序列是 : 14, 23, 37, 48, 59, 59, 65, 75, 86, 96,
當前序列是 : 14, 23, 37, 48, 59, 59, 65, 75, 86, 96,
*****=排序結果是:*****== :
當前序列是 : 14, 23, 37, 48, 59, 59, 65, 75, 86, 96,請按任意鍵繼續. . .
資料結構與演算法 選擇排序
選擇排序 從小到大 的基本思想是,首先,選出最小的數,放在第乙個位置 然後,選出第二小的數,放在第二個位置 以此類推,直到所有的數從小到大排序。在實現上,我們通常是先確定第i小的數所在的位置,然後,將其與第i個數進行交換。下面,以對 3 2 4 1 進行選擇排序說明排序過程,使用min index ...
資料結構與演算法 選擇排序
1 什麼是程式?程式 資料結構 演算法 2 選擇排序 selection sort 基本思想 我們從第乙個位置開始,依次和後面的值進行比較,如找到比第乙個值小的,二者進行交換。交換後第乙個位置的值已經確定下來,我們再從第二個位置開始,依次和後面的進行比較,依次類推,知道所有的值都比較完成,到此選擇排...
資料結構與演算法 選擇排序
直接選擇排序非常好理解,但是效率不是很好。實際中很少使用 時間複雜度 o n 2 空間複雜度 o 1 穩定性 不穩定 基本思想 第一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小 大 元素,然後放到已排序的序列的末尾。以此類推,直到全部...