Sort
作者:
别_2
,
2022-01-21 17:54:15
,
所有人可见
,
阅读 177
排序第一天
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
void Bubble_sort(vector<int> &q){//冒泡排序,从后往前优化
for(int i = q.size() - 1; i > 0; i-- ){
bool flag = false;// 优化
for(int j = 0 ; j + 1 <= i ; j++){
if(q[j] > q[j+1]){
swap(q[j],q[j+1]);
flag = true;
}
}
if(!flag) break;//优化:如果flag不变,表示没用交换,可以直接退出
}
}
void Selection_sort(vector<int> &q){
for(int i = 0; i < q.size(); i++){
for(int j = i + 1; j < q.size(); j++){
if(q[i]>q[j]){
swap(q[i],q[j]);
}
}
}
}
int main()
{
vector<int> q;
int n;
cin>>n;
for(int i = 0,x; i < n; i++){
cin>>x;
q.push_back(x);
}
// Bubble_sort(q);
Selection_sort(q);
for(auto x : q) cout<<x<<" ";
return 0;
}