基础算法--冒泡排序,选择排序,插入排序
冒泡排序做了优化,都是很基础的排序算法就不多做什么说明了。
#include<iostream> #include<algorithm> #include<vector> using namespace std; void bubble_sort(vector<int>&f){ for(int i=f.size()-1;i>0;i--){ bool flag=false; for(int j=0;j+1<=i;j++) if(f[j]>f[j+1]){ swap(f[j],f[j+1]); flag=true; } if(!flag)break; } } void select_sort(vector<int>&f){ for(int i=0;i<f.size();i++) for(int j=i+1;j<f.size();j++) if(f[i]>f[j]) swap(f[i],f[j]); } void insert_sort(vector<int>&f){ for(int i=1;i<f.size();i++){ int q=f[i],j; for(j=i-1;j>=0;j--) if(f[j]>q)f[j+1]=f[j]; else break; f[j+1]=q; } } int main(void){ int n; cin>>n; vector<int>f; for(int i=0,t;i<n;i++){ cin>>t; f.push_back(t); } //bubble_sort(f); //select_sort(f); insert_sort(f); for(auto x:f)cout<<x<<' '; cout<<endl; return 0; }