首页 > 编程语言 > 详细

2020-3-30 冒泡排序思想与实现

时间:2021-03-30 20:45:55      阅读:34      评论:0      收藏:0      [点我收藏+]

冒泡排序就是每迭代一次,将最大的值移到数组的最右边,重复arr.size()大小次数以后,数组按序排列,是稳定的排序算法

#include<bits/stdc++.h>
using namespace std;

int main(){
        int n;
        while(cin>>n){
                //数据处理
                vector<int> arr;
                while(n--){
                        int num;
                        cin>>num;
                        arr.push_back(num);
                }
                //冒泡排序
                int j=0;
                for(int i=0;i<arr.size();i++){
                        for(;j<arr.size()-i;j++){			
                        //第i次遍历,只需要遍历arr.size()-i个数,,因为其他的数已经按顺序排列
                                if(arr[j]>arr[j+1]){		
                                //如果两个连着的数是反序的,就交换他们的位置
                                        swap(arr[j],arr[j+1]);
                                        }
                                }
                                j=0;		//每次从开始遍历数组
                        }
        for(auto x:arr){
                cout<<x<<" ";
}
                arr.clear();
}
return 0;
}

2020-3-30 冒泡排序思想与实现

原文:https://www.cnblogs.com/jobshenlei/p/14597397.html

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