永发信息网

编写四个程序,分别用四种方法引用数组元素,输入十个整数,按升序排序,输出结果

答案:2  悬赏:40  手机版
解决时间 2021-03-01 04:41
  • 提问者网友:沉默的哀伤
  • 2021-03-01 00:30
编写四个程序,分别用四种方法引用数组元素,输入十个整数,按升序排序,输出结果
最佳答案
  • 五星知识达人网友:一秋
  • 2021-03-01 01:03
就是排序算法,可以考虑的算法包括:
直接插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序、归并排序、桶排序等。
提供一个冒泡排序吧,其他的建议自己实现:

typedef int DT;
void swap(DT* a, DT* b){
if(a!=b){
*a=*a ^ *b;
*b=*a ^ *b;
*a=*a ^ *b;
}
}
void bubble(DT* from, int len, int(*cmp)(DT,DT)){
    int i, j, flag;
    for(i=0; i<len-1; i++){
        flag=0;
        for(j=0;j<len-1-i;j++)
            if((from[j+1]<from[j])){
                swap(from+j+1, from+j);
                flag=1;
            }
        if(!flag) break;
    }
}
全部回答
  • 1楼网友:你哪知我潦倒为你
  • 2021-03-01 02:18
#include void main() { int x,i,j=10,a[11]={10,20,30,40,50,60,70,80,90,100,0}; printf("已有数列:10,20,30,40,50,60,70,80,90,100\n"); printf("请输入一个整数:"); scanf("%d",&x); for(i=0;i<10;i++)if(x=j;i--)a[i]=a[i-1]; a[j]=x; printf("新数列:"); for(i=0;i<11;i++)printf("%d,",a[i]); getchar(); getchar(); getchar(); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯