欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C语言数组练习 冒泡排序

程序员文章站 2024-02-03 14:53:47
c语言数组练习 冒泡排序:将数组16 25 9 90 23 降序排序。冒泡排序的基本原理,遍历和交换,第一轮循环;如果某个数字小于后面的数字,那么就交换。 1 25 16 9 90 23 2 25...

c语言数组练习 冒泡排序:将数组16 25 9 90 23 降序排序。冒泡排序的基本原理,遍历和交换,第一轮循环;如果某个数字小于后面的数字,那么就交换。

1 25 16 9 90 23
2 25 16 9 90 23
3 25 16 90 9 23
4 25 16 90 23 9
需要比较多轮,数组长度-1轮
每轮比较的次数(数组长度-1)-当前的轮数

#include 
#include 
#define n 5
int main()
{
    int i,j;
    int temp;
    int nums[n] = {16,25,9,90,23 };
    //外层循环控制轮数
    for (i = 0; i < n - 1; i++)
    {
        //内层循环控制每轮比较的次数
        for (j = 0; j < n - i-1; j++)
            //如果当前值小于后面一个数,则交换
        {
            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]);
    }

    for (i = 0; i < n - 1; i++)
    {
        //内层循环控制每轮比较的次数
        for (j = 0; j < n - i - 1; j++)
            //如果当前值小于后面一个数,则交换
        {
            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]);
    }   
    }