首页 > 编程语言 > 详细

自我学习 - C++ 冒泡排序

时间:2021-03-17 10:02:14      阅读:23      评论:0      收藏:0      [点我收藏+]
#include <iostream>

using namespace std;

// 冒泡排序 (和鱼冒泡泡一样,从底部往水面冒)
void BubbleSort(int A[], int n) {
    int i, j; // 冒泡中两层循环用到
    bool flag; // 判断排序是否结束
    for (i = 0; i < n - 1; ++i) { // 冒泡排序因为是将一个个值不停的冒到最终位置(也就是一次冒泡确定一个值的顺序),所以最多就n - 1次冒泡,其实可以试一下10,9,8,7,6,5这个逆序,当第五次冒泡结束后,5就在第一个了,不需要再继续了
        flag = false;
        for (j = 0; j < n - 1 - i; ++j) {
            if (A[j] > A[j + 1]) { // 如果大的值在前面,则交换
                swap(A[j], A[j + 1]);
                flag = true;
            }
        }

        if (!flag) {
            return;
        }
    }
}

int main(){
    int A[10] = {19, 2, 5, 4, 18, 99, 88, 77, 66, 33};
    BubbleSort(A, 10);
    for (int i = 0; i < 10; ++i) {
        cout << A[i] << endl;
    }
    return 0;
}

  

自我学习 - C++ 冒泡排序

原文:https://www.cnblogs.com/adamweng/p/14546892.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!