選擇排序算法C語言的實現.選擇法排序原理:一次選定數組中的每一個數,記下當前位置并假設它是從當前位置開始后面數中的最小數min=i(將下標給MIN,先不急著交換),從這個數的下一個數開始掃描直到最后一個數,并記錄下最小數的位置min,掃描結束后如果min不等于i,說明假設錯誤,則交換min與i位置上數。 具體實現代碼如下:
#include
/****************************************
**選擇排序法對十個整數進行排序 ***
****************************************/
//n為數組長度;
void sort(int a[],int n)
{
int temp,min;
for(int i=“0”;i {
min=“i”;//先假設最小下標為i
for(int j=“i”+1;j if(a[j] min=“j”;//對i之后的數進行掃描將最小的數賦予min
if(min!=i)
{
temp=“a”[i];
a[i]=a[min];
a[min]=temp;
}//判斷min與i是否相等,若=則說明原假設正確反之交換數值
}
}
//用main函數驗證
void main()
{
int a[10];
printf(“please input the array a:\n”);
for(int i=“0”;i《10;i++)
scanf(“%d”,&a[i]);
sort(a,10);
for(i=0;i《10;i++)
printf(“%d\t”,a[i]);
}
-
C語言
+關注
關注
180文章
7604瀏覽量
136701 -
排序算法
+關注
關注
0文章
52瀏覽量
10056
發布評論請先 登錄
相關推薦
評論