数组排序

作者: RicherYY | 来源:发表于2018-04-30 20:38 被阅读0次

    冒泡排序

    冒泡排序的基础原理就是查找(遍历)和交换
    给了一排数字计算机只能挨个比对和交换。

    冒泡排序.PNG
    include <stdio.h>
    include <stdlib.h>
    define N 5   //宏定义数组长度
    
    int main()
    {
        //冒泡排序
        int temp;                                 //用来交换的临时变量
    
        int nums[N] = {16, 25, 9, 90 ,23};
        int i, j; //循环变量
        //外层循环控制轮数
        for (i = 0; i < N -1; i++)                //第一轮是数组总长度 - 1 轮
        {
                //内层循环控制比较次数
                for (j = 0; j < N - i - 1; j++)   //每一轮比较上一轮比较次数 - 1(上一轮比较0次)-i是因为比较了i轮
                    {
                        //如果当前的值小于后面的值就进行交换
                if(nums[j] > nums[j + 1])
                {
                      temp = nums[j];
                      nums[j] = nums[j + 1];
                      nums[j + 1] = temp;
    
                }
    
                    }
    
        }
    
                printf("循环的结果;\n");
    
                for (i = 0; i < N; i++)
                    {
                        printf("%d\t",nums[i]);
                    }
    
                return 0;
    }
    

    冒泡排序的特点

    1.需要比较多次 (数组长度 - 1轮)
    2.第一轮比较了4次(数组的总长度 - 1)
    每一轮的次数比较上一轮的次数 - 1((数组长度 - 1) - 当前轮数)

    相关文章

      网友评论

        本文标题:数组排序

        本文链接:https://www.haomeiwen.com/subject/xrkalftx.html