问答文章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
飞行员多久能考 自费飞行员学历有什么要求 考民航飞行员是公费自费 民航飞行员报考是自费吗 路虎pin码是多少 发财树的寓意和象征 ...发财树有什么寓意?养发财树需要注意什么?_百度... 成年男子标枪重量 标枪运动用的标枪重量是多少? 成年组比赛中男女标枪的重量分别是 VB选择法排序 喵喵机P2错题打印机质量好吗? 喵喵机的彩色纸有什么用 喵喵机打印用的什么纸,效果怎样? 喵喵机打印纸 爱立熊打印纸 哪个好? 梅艳芳是因为什么原因去世的? 喵喵机错题打印机有没有哪个型号打印的纸比较大? 喵喵机可以打印a4纸大小的卷子吗? 喵喵机固定打印长度 请问喵喵机一卷打印纸有几米长呢 微信上的拍一拍怎么删除 微信拍一拍怎样删除 带“三”字的成语有哪些? 全球房价大幅上涨,对我们是好是坏? 为什么说强一二线城市房价还会上涨 为何英国的房价没有国内那么夸张? 有谁去过美国,美国的房价,物价,和城市建设如何? 美国房价最高和最低的十大城市是哪些 外国的房价有中国高吗?为什么? 英国首都伦敦的房价贵吗?是伦敦贵还是北京贵? 苏乞儿里有个叫什么璐的? 谁知道咱们常吃的每种水果和蔬菜的卡璐里?? nobeemas璐比玛斯内衣是有磁的吗 韩束的化妆品怎么样?大家有用过的吗? 可以登录qq但无法打开网页 黑莓手机拖电脑上网 浏览网页的相关问题 喝醉酒的危害有哪些? 喝酒的危害 喝酒对身体有什么坏处? 喝酒对身体有什么危害? 喝酒喝醉了有什么伤害? 喝酒的危害50条 喝酒对人的身体有伤害,喝酒对身体都有哪些危害? 经常喝醉酒会有什么危害? 喝酒喝醉了对身体有哪些危害 喝酒的危害究竟有哪些 喝酒有什么危害 喝酒危害有哪些? 常吃的水果有哪几种 喝酒过多会对人体造成哪些危害