• 个人简介

    计数排序:

    #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