排序——简单选择排序
#include <iostream>
#include <stdio.h>
using namespace std;
void swap(int *a,int *b)//该函数用于交换两个变量的值
{
int temp=*a;
*a=*b;
*b=temp;
}
int ScanForMin(int a[],int begin,int end)
{
int i,min=a[begin],j=begin;
for(i=begin+1;i<=end;++i)
{
if(a[i]<min)
{
min=a[i];
j=i;
}
}
return j;
}
void Selection_Sort(int a[],int n) //该函数用于找到最小值的下标
{
int i;
for(i=0;i<n;++i)
{
int j=ScanForMin(a,i,n-1);
swap(&a[i],&a[j]);
}
}
int main() {
// insert code here...
int a[100];
int c=0;
int i=1;
scanf("%d",&a[i]);
while(a[i]!=0)
{
//printf("%d %d\n",i,a[i]);
i++;
scanf("%d",&a[i]);
c++;
}
// for(int i=0;i<c;i++)
// {
// printf("%d ",a[i]);
// }
// printf("%d",c);
// printf("\n");
// int a[]={1,3,63,5,78,9,12,52,8};
// int n=sizeof(a)/sizeof(int),i;
Selection_Sort(a,c+1);
for(i=0;i<c;i++)
{ printf("%d ",a[i]);}
return 0;
}