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

这是一道语言题目... 这是一道语言题目 展开
 我来答
Soucula
2013-05-05 · TA获得超过3092个赞
知道小有建树答主
回答量:744
采纳率:93%
帮助的人:76.6万
展开全部
#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);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式