作业帮 > 综合 > 作业

文字在键盘上输入N个整数试编制程序使该数组中的数按照从小到大的次序排列分别用起泡排序和选择排序实现

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/27 16:12:20
文字在键盘上输入N个整数试编制程序使该数组中的数按照从小到大的次序排列分别用起泡排序和选择排序实现
这是一道语言题目
#define N 10 //要输入的n个数字

typedef struct List {
int r[N];
int length;
}SqList;

void compositor_1(SqList &list) //排序,采用选择排序
{
int tmp;
for(int i = list.length; i >= 0; i--)
{
int maxpos = i - 1;
for(int j = 0; j < i - 1; j++)
{
if (list.r[j] > list.r[maxpos])
{
maxpos = j;
}
}
tmp = list.r[maxpos];
list.r[maxpos] = list.r[i - 1];
list.r[i - 1] = tmp;
}
}
void compositor_2(SqList &list) //排序,采用冒泡排序
{
int tmp;
for(int i = list.length; i >= 0; i--)
for(int j = 0; j < i - 1; j++)
if(list.r[j] > list.r[j + 1])
{
tmp = list.r[j];
list.r[j] = list.r[j + 1];
list.r[i + 1] = tmp;
}
}


void main()
{
SqList list;
for(int i = 0; i < N; i++)
scanf("%d", &(list.r[i]));
list.length = N;
compositor_1(list); //compositor_2(list);
}