0
爲什麼這個選擇排序程序我寫不工作
它不排序數組。我究竟做錯了什麼?使用選擇排序排序陣列將不起作用
//This program uses selection sort algorithm to sort an array
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
void main()
{
int arr[10],i,j,small,pos,a;
printf("SELECTION SORT\n");
srand(time(NULL));
i=0;
while(i<10)
{
arr[i]=rand()%100;
printf("%d ",arr[i]);
i++;
}
j=0;
while(j<10)
{
i=j;
small=arr[j];
while(i<10)
{
if(arr[i]<small)
{ small=arr[i];
pos=i;
}
i++;
}
a=arr[pos];
arr[pos]=arr[j];
arr[j]=a;
j++;
}
printf("\nThe array has been sorted\n");
i=-1;
while(++i<10)
printf("%d ",arr[i]);
getch();
}
算法尋找最小元素的一部分工作 外環是我想我犯了一個錯誤,但我無法弄清楚什麼
的一點小建議,將不勝感激
由於
如果第一個元素碰巧是最小的,那麼'pos'會發生什麼? –