简单选择排序是最简单的排序思想,其思想是在未排序的序列中选出最小的元素和序列首位交换,接来下在未排序序列中再选出最小元素与序列的第二个元素交换,依次类推直至排好。
void selectSort()
{
for(int i=1;i<=n;i++)//进行n趟操作
{
int k=i;
for(int j=i;j<=n;j++)//选出[i,n]最小的元素
{
if(A[j]<A[k])
{
k=j;
}
}
int temp=A[i];b
A[i]=A[k];
A[k]=temp;
}
}
void Swap(ElementType *a,ElementType *b)
{
ElementType t=*a;*a=*b;*b=t;
}
void SimpleSelectionSort(ElementType A[],int N)
{
int i,j,min;
for(int i=0;i<N-1;i++)
{
min=i;
for(j=i+1;j<N;j++)
{
if(A[j]<A[min])
min=j;
}
Swap(&A[i],&A[min]);
}
}