C 语言

数组排序

2018-04-30  本文已影响0人  RicherYY

冒泡排序

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

冒泡排序.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) - 当前轮数)

上一篇下一篇

猜你喜欢

热点阅读