排序算法二:冒泡排序

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

代码实现如下:

 

#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;
}

 

 

 

结果运行结果是:

 

posted @ 2017-06-21 12:05  Yanky  阅读(403)  评论(0编辑  收藏  举报