#include <stdio.h>
#define LISTSIZE 100
typedef int Datatpye;
typedef struct
{
Datatpye data [LISTSIZE];
int length;
}Seplist;
void Init(Seplist *s);
void Length(Seplist *s);
void Bobblesort(Seplist *s);
int main(int argc, const char * argv[])
{
//4.4直接选择排序
/*从键盘上接收一些随机整数,然后用选择排序后再输出
*/
Seplist arr;
Init(&arr);
Length(&arr);
Bobblesort(&arr);
return 0;
}
void Init(Seplist *s)
{
s->length=0;
}
void Length(Seplist *s)
{
int number;
printf("请输入元素的个数:");
scanf("%d",&number);
s->length=number;
for (int i=0; i<number; i++)
{
printf("请输入第%d个元素:\n",i+1);
scanf("%d",&s->data[i]);
}
for (int i=0; i<number; i++)
{
printf("%d\t",s->data[i]);
}
printf("\n");
}
void Bobblesort(Seplist *s)//直接选择排序。
{
int mind;
for (int i=0; i<s->length-1; i++)
{
mind=i;
for (int j=i+1; j<s->length; j++)
{
if (s->data[j]<s->data[mind])
{
mind=j;
}
}
if (mind!=i)
{
int temp=s->data[i];
s->data[i]=s->data[mind];
s->data[mind]=temp;
}
}
for (int i=0; i<s->length; i++)
{
printf("%d\t",s->data[i]);
}
}