文字在键盘上输入N个整数试编制程序使该数组中的数按照从小到大的次序排列分别用起泡排序和选择排序实现这是一道语言题目
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/05 22:49:23
文字在键盘上输入N个整数试编制程序使该数组中的数按照从小到大的次序排列分别用起泡排序和选择排序实现这是一道语言题目
文字在键盘上输入N个整数试编制程序使该数组中的数按照从小到大的次序排列分别用起泡排序和选择排序实现
这是一道语言题目
文字在键盘上输入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);
}