• 个人简介

    手搓归并:

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    ll n,q[200],tmp[200];
    void dfs(ll q[],ll l,ll r)
    {
    	if(l>=r) return;
    	int mid=l+r>>1;
    	dfs(q,l,mid);
    	dfs(q,mid+1,r);
    	int k=0,i=l,j=mid+1;
    	while(i<=mid&&j<=r)
    	  if(q[i]<q[j]) tmp[k++]=q[i++];
    	  else tmp[k++]=q[j++];
    	while(i<=mid) tmp[k++]=q[i++];
    	while(j<=r) tmp[k++]=q[j++];
    	for(i=l,j=0;i<=r;i++,j++) q[i]=tmp[j];
    }
    int main() {
    	cin>>n;
    	for(int i=0;i<n;i++) cin>>q[i];
    	dfs(q,0,n-1);
    	for(int i=0;i<n;i++) cout<<tmp[i]<<" ";
    }
    

    手搓推排序:

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    typedef string sb;
    ll m;
    priority_queue<int,vector<int>,greater<int> >q;
    int main() {
    	cin>>m;
    	for(int i=1;i<=m;i++) {
    		int x;
    		cin>>x;
    		q.push(x);
    	}
    	while(q.size()>0) {
    		cout<<q.top()<<" ";
    		q.pop();
    	}
    	return 0;
    }
    
  • 通过的题目

  • 最近活动

    This person is lazy and didn't join any contests or homework.
  • 最近编写的题解

    This person is lazy and didn't write any solutions.