回顾冒泡排序

时间:2019-06-26
本文章向大家介绍回顾冒泡排序,主要包括回顾冒泡排序使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
//
//  main.c
//  数组-冒泡排序
//
//  Created by LongMa on 2019/6/26.
//  Copyright © 2019. All rights reserved.
//

#include <stdio.h>

int main(int argc, const char * argv[]) {
    int a[10];
    for (int i = 0; i < 10; i++) {
        printf("请输入第%d个整数,共10个:",i + 1);
        scanf("%d", &a[i]);
    }
    
    int temp = 0;
    
    //冒泡:第一次,最大的排到了最后一位;第二次(不用对比最后一个),次大的排到倒数第二位...
    for (int i = 0; i <= 10 - 1 - 1 ; i++) {//共3个数,要循环2次 => n个数,循环n-1次
        for (int j = 0; j <= 10 - 1 - 1 - i ; j++) {//i为0时,j + 1最大 == 9,j最大 == 8
            if (a[j] > a[j + 1]) {
                temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
    }
    
    for (int k = 0; k < 10; k++) {
        printf("%d\t",a[k]);
    }
    return 0;
}

 log:

请输入第1个整数,共10个:9
请输入第2个整数,共10个:8
请输入第3个整数,共10个:7
请输入第4个整数,共10个:66
请输入第5个整数,共10个:55
请输入第6个整数,共10个:444
请输入第7个整数,共10个:3
请输入第8个整数,共10个:2
请输入第9个整数,共10个:0
请输入第10个整数,共10个:111111
0	2	3	7	8	9	55	66	444	111111	Program ended with exit code: 0

原文地址:https://www.cnblogs.com/Dast1/p/11094547.html