【问题描述】
使用选择排序法,对输入数组进行排序
【输入形式】
整型数组A
【输出形式】
排序后的数组
【样例输入】
2 4 6 8 3 8 5 9
【样例输出】
2 3 4 5 6 8 8 9
【样例说明】
输入数组空格分开,输出从小打到,数字之间空格分开
【评分标准】
必须使用选择排序,其他方法不能得分。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct
{
int length;
int *elem;
}SqList;
SqList XuSearch(SqList s)
{
int i,j,t;
for(i=0;i<s.length-1;i++)
for(j=i;j<s.length;j++)
if(s.elem[i]>s.elem[j])
{
t=s.elem[i];
s.elem[i]=s.elem[j];
s.elem[j]=t;
}
return s;
}
int main()
{
SqList s;
int i=0,flag=0,k;
char a[100];
gets(a);
s.length=0;
s.elem=(int *)malloc(100*sizeof(int));
while(a[i]!='\0')
{
flag=0;
k=0;
while(a[i]!=' ')
{
k=10*k+(a[i]-'0');
flag=1;
i++;
if(i>strlen(a)||a[i]=='\0')
break;
}
if(flag==1)
s.elem[s.length++]=k;
if(i>strlen(a)||a[i]=='\0')
break;
i++;
}
s=XuSearch(s);
for(i=0;i<s.length;i++)
printf("%d ",s.elem[i]);
return 0;
}