问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求 c语言选择排序法和 冒泡排序法代码?

发布网友 发布时间:2022-03-30 03:33

我来回答

2个回答

懂视网 时间:2022-03-30 07:55

以下用JAVA举一个例子,选择排序代码方法如下:

  

  算法描述:对于给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录与第一个记录的位置进行交换;接着对不包括第一个记录以外的其他记录进行第二轮比较,得到最小的记录并与第二个记录进行位置交换;重复该过程,直到进行比较的记录只有一个时为止。

  

  

热心网友 时间:2022-03-30 05:03

冒泡排序法的具体实现方法是这样的,从数组的第一个元素`arr[0]`开始,两两比较**(`arr[n],arr[n+1]`),如果前面的数大于后面的数(`arr[n] > arr[n+1]`),那么交换两个元素的位置,把大的数往后移动。这样依次经过一轮比较以后,最大的数将会被交换到最后的位置(arr[n-1])。

C语言实现Bubblesort:

void bubblesort(int a[], int m)
    {
        int i,j;
        int tmp;
        int flag = 0;  //设定标志,如果第一次循环比较时没有发生交换,则说明数组是升序排序,不用排序,提前结束循环。
        for(i = 0; i < m; i++)  //外层循环控制循环次数
        {
            for(j = 0; j < m-1-i; j++)    //内层循环控制每次循环里比较的次数。
            {
                if(a[j] > a[j+1])
                {
                    tmp = a[j];
                    a[j] = a[j+1];
                    a[j+1] = tmp;
                    flag = 1;
                }
            }
    
            if(0 == flag)
            {
                printf("No Sort\n");
                break;
            }
            }
    }

选择排序法的过程是,通**过比较,选择出每一轮中最值元素,然后把他和这一轮中最最前面的元素交换**,所以这个算法关键是要记录每次比较的结果,即每次比较后最值位置(下标)。

C语言实现(Selectionsort)

void selectionsort(int a[],int m)
    {
        int i,j;
        int k;
        int tmp;

        for(i = 0; i < m-1; i++)//控制循环次数,n个数需要n-1次循环
        {
            k = i;
            for(j = i+1; j < m ; j++)
            {
                if(a[j] < a[k])
                    k = j;
            }
            //i不等于k是就证明a[i]不是最小的,
            //i等于k时证明a[i]就是本轮比较过程中最小的值
            if(i != k)
            {
                tmp = a[i];
                a[i] = a[k];
                a[k] = tmp;
            }
        }
    }

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机钉钉直播怎么连麦 开启方法介绍 钉钉直播上课如何发语音 直播课堂发音方法有哪些 迪兰r7 350与七彩虹gt740灵动鲨哪个好 cpui54590 显卡七彩虹gt740灵动鲨 主板,技嘉b85m小板 硬盘,希捷500g 内... 电脑配置低玩永劫无间会怎么样i54590内存12g显卡gtx10603g玩永劫无间... 袁记串串香简介 我给别人发个微信红包40元把我加入了黑名单他没收到也没领24小时后会... ...东西有用吗 现在已经过去三个月了也没有一点消息 ...钱被取光了,你冻结了卡号,去补办新卡,那么坏人还能用 今年兵检17号复查完为什么今天22号都还没通知结果9月一号就要走兵了是... VB选择法排序 喵喵机P2错题打印机质量好吗? 喵喵机的彩色纸有什么用 喵喵机打印用的什么纸,效果怎样? 喵喵机打印纸 爱立熊打印纸 哪个好? 梅艳芳是因为什么原因去世的? 喵喵机错题打印机有没有哪个型号打印的纸比较大? 喵喵机可以打印a4纸大小的卷子吗? 喵喵机固定打印长度 请问喵喵机一卷打印纸有几米长呢 微信上的拍一拍怎么删除 微信拍一拍怎样删除 带“三”字的成语有哪些? 全球房价大幅上涨,对我们是好是坏? 为什么说强一二线城市房价还会上涨 为何英国的房价没有国内那么夸张? 有谁去过美国,美国的房价,物价,和城市建设如何? 美国房价最高和最低的十大城市是哪些 外国的房价有中国高吗?为什么? 英国首都伦敦的房价贵吗?是伦敦贵还是北京贵? 苏乞儿里有个叫什么璐的? 谁知道咱们常吃的每种水果和蔬菜的卡璐里?? nobeemas璐比玛斯内衣是有磁的吗 韩束的化妆品怎么样?大家有用过的吗? 可以登录qq但无法打开网页 黑莓手机拖电脑上网 浏览网页的相关问题 喝醉酒的危害有哪些? 喝酒的危害 喝酒对身体有什么坏处? 喝酒对身体有什么危害? 喝酒喝醉了有什么伤害? 喝酒的危害50条 喝酒对人的身体有伤害,喝酒对身体都有哪些危害? 经常喝醉酒会有什么危害? 喝酒喝醉了对身体有哪些危害 喝酒的危害究竟有哪些 喝酒有什么危害 喝酒危害有哪些? 常吃的水果有哪几种 喝酒过多会对人体造成哪些危害