数组排序

作者: 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) - 当前轮数)

相关文章

  • iOS 各种排序

    数组排序 数组中字典排序 数组中字典按照某个value排序 排序方法

  • Java 数组的排序、逆序

    数组的排序、逆序测试数据 数组选择排序 数组冒泡排序 数组逆序

  • java 数组和list排序

    数组排序 其中有数组排序和数组对象排序 数组一些数字排序则直接用Arrays.sort()加数组就可以。数组对象则...

  • 数组

    数组的遍历 数组是值类型 数组的排序 冒泡排序 多维数组

  • 2018-01-14

    php数组排序 sort() - 以升序对数组排序 rsort() - 以降序对数组排序 asort() - 根据...

  • PHP排序算法

    排序算法 冒泡排序(数组排序) 快速排序(数组排序) 参考 http://www.cnblogs.com/enia...

  • 算法记录

    快速排序 基本算法: 归并排序讲数组分为两个子数组分别排序,并将有序的子数组归并使得整个数组排序; 快速排序通过一...

  • 选择排序

    选择排序 调用选择排序 生成数组 打印输出排序数组

  • 按照数组中的字符串顺序给另一个数组排序

    数组1 数组2: 数组1按照数组2的顺序排序 sortedUserDicts就是排序后的数组

  • 排序问题

    数组排序 数组排序最简单了,直接Arrays.sort(a); a是待排序的数组 根据对象中的成员变量来排序 这个...

网友评论

    本文标题:数组排序

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