#include"iostream"#include"algorithm"usingnamespace std;int q[1005];intmain(){int n;
cin >> n;for(int i =0; i < n; i ++) cin >> q[i];for(int i =0; i < n -1; i ++)for(int j =0; j < n -1- i; j ++)if(q[j]> q[j +1])swap(q[j], q[j +1]);for(int i =0; i < n; i ++)if(i == n -1) cout << q[i]<< endl;else cout << q[i]<<" ";return0;}
2.选择排序法:
#include"iostream"#include"algorithm"usingnamespace std;int q[1005];intmain(){int n;
cin >> n;for(int i =0; i < n; i ++) cin >> q[i];for(int i =0; i < n -1; i ++)for(int j = i +1; j < n; j ++)if(q[i]> q[j])swap(q[i], q[j]);for(int i =0; i < n; i ++)if(i == n -1) cout << q[i]<< endl;else cout << q[i]<<" ";return0;}
3.快速排序法:
#include"iostream"#include"algorithm"usingnamespace std;int q[1005];voidquick_sort(int q[],int l,int r){if(l >= r)return;int lt = l -1, rt = r +1, x = q[l + r >>1];while(lt < rt){do lt ++;while(q[lt]< x);do rt --;while(q[rt]> x);if(lt < rt)swap(q[lt], q[rt]);elsebreak;}quick_sort(q, l, rt);quick_sort(q, rt +1, r);}intmain(){int n;
cin >> n;for(int i =0; i < n; i ++) cin >> q[i];quick_sort(q,0, n -1);for(int i =0; i < n; i ++)if(i == n -1) cout << q[i]<< endl;else cout << q[i]<<" ";return0;}
4.归并排序法:
#include"iostream"#include"algorithm"usingnamespace std;int q[1005], tmp[1005];voidmerge_sort(int q[],int l,int r){if(l >= r)return;int mid = l + r >>1;merge_sort(q, l, mid);merge_sort(q, mid +1, r);int k =0, lt = l, rt = mid +1;while(lt <= mid && rt <= r)if(q[lt]< q[rt]) tmp[k ++]= q[lt ++];else tmp[k ++]= q[rt ++];while(lt <= mid) tmp[k ++]= q[lt ++];while(rt <= r) tmp[k ++]= q[rt ++];for(k =0, lt = l; lt <= r; k ++, lt ++) q[lt]= tmp[k];}intmain(){int n;
cin >> n;for(int i =0; i < n; i ++) cin >> q[i];merge_sort(q,0, n -1);for(int i =0; i < n; i ++)if(i == n -1) cout << q[i]<< endl;else cout << q[i]<<" ";return0;}
关于排序的四种方法(C++代码)1.冒泡排序法:#include "iostream"#include "algorithm"using namespace std;int q[1005];int main(){ int n; cin >> n; for(int i = 0; i < n; i ++) cin >> q[i]; for(int i = 0; i < n - 1; i ++) for(int j = 0; j < n -