排序算法二:冒泡排序

Posted Yanky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法二:冒泡排序相关的知识,希望对你有一定的参考价值。

  冒泡排序的基本思想是:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来。

代码实现如下:

 

#include <stdio.h>
int main() {
    //冒泡排序.此处是由大到小
    //先确定变量
    //赋初始值
    //循环输入数值
    //循环输出数值
    printf("冒泡排序\\n");
    int book[100], i, j, t, n;
    printf("请输入数值个数:");
    scanf("%d", &n);
    for (i = 1; i <= n;i++) {
        printf("第%d个数:",i);
        scanf("%d", &book[i]);
    }
    //冒泡排序核心部分
    for (i = 1; i <= n - 1;i++) {      //有n个数就比较n-1趟,因为每个数都要作为主数跟别的数比较一次
        for (j = 1; j <= n - i;j++) {  //每趟比较次数为n-i,因为已经归位的数不用再比较
            if (book[j]<book[j+1]) {   //如果前者小于后者,就交换位置
                t = book[j];
                book[j] = book[j+1];
                book[j + 1] = t;
            }
        }
    }
    printf("排序结果:\\n");
    for (i = 1; i <=n; i++)
            printf("%d\\t",book[i]);
    getchar();
    getchar();
    return 0;
}

 

 

 

结果运行结果是:

 

以上是关于排序算法二:冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

三大基础排序算法(冒泡排序,选择排序,插入排序)

手写算法:冒泡排序

信息学奥赛之c++算法(八)冒泡排序

算法交换排序——快速排序+冒泡排序

常用排序算法

七大排序算法(插排,希尔,选择排序,堆排,冒泡,快排,归并)--图文详解