-
个人简介
计数排序:
#include <iostream> using namespace std; int a[1010] = {0},n,m,tmp; int main(){ cin >> n >> m; for(int i = 0;i < m;i++){ cin >> tmp; a[tmp]++; } for(int i = 1;i <= n;i++){ for(int j = 0;j < a[i];j++){ cout << i << ' '; } } cout << endl; return 0; }
选择排序:
#include <iostream> using namespace std; int main(){ int n; cin >> n; int a[n]; for(int i = 0;i < n;i++){ cin >> a[i]; } for(int i = 0; i < n- 1;i++){ for(int j = i+1;j < n;j++){ if(a[j] < a[i]) { swap(a[i],a[j]); } } } for(int i = 0;i < n;i++){ cout << a[i]; }
冒泡排序:
#include <iostream> using namespace std; int a[200],n,m=0; int main(){ cin>>n; for (int i=1;i<=n;i++) cin>>a[i]; for (int i=1;i<=n;i++){ if(m==1)break; m=1; for(int j=1;j<=n-i;j++){ if(a[j]>a[j+1]){ swap(a[j],a[j+1]); m=0; } } } for(int i=1;i<=n;i++){ cout<<a[i]<<" "; } return 0; }
快速排序:
#include <iostream> using namespace std; void qsort(int a[],int l,int r){ int i = l,j = r,flag = a[(l + r) / 2]; do { while (a[i] < flag) i++; while (a[j] > flag) j--; if (i <= j){ swap(a[i],a[j]); i++; j--; } } while (i <= j); if (l < j) qsort(a,l,j); if (i < r) qsort(a,i,r); } int main(){ int len; cin >> len; int a[len]; for(int i = 0;i < len;i++){ cin >> a[i]; } qsort(a,0,len-1); for(int i = 0;i < len;i++){ cout << a[i] << " "; } }
-
通过的题目
-
最近活动
This person is lazy and didn't join any contests or homework. -
最近编写的题解
This person is lazy and didn't write any solutions. -
Stat
-
Rating
题目标签
- 系统测试
- 1