原題描述:用選擇法對10個整數(shù)按從小到大順序排序膊毁。
選擇法排序的思想:
首先從1~n個元素中選擇出數(shù)值最小的數(shù),交換到第一個位置上婚温。 然后從第2~n個元素中選擇出數(shù)值次小的數(shù)交換到第二個位置上,以此類推栅螟,直至排完
#include<stdio.h>
int main()
{
int a[10],k,i,j,p,t;
for(i=0;i<10;i++){
scanf("%d",&a[i]);
}
for(i=0;i<10;i++)
{
k = i;//作為每次比較的最左邊的第一個數(shù)
for(j=i+1;j<10;j++)
{
if(a[j]<a[k])//如果J位的數(shù)小于k位上的數(shù)
{
k = j;//則改變最小值的索引
}
}
if(k!=i)//兩個位置相等不交換,否則交換
{
t=a[k];
a[k] = a[i];
a[i] = t;
}
}
printf("排序后:\n");
for(i=0;i<10;i++){
printf("%d\t",a[i]);
}
return 0;
}