桶排序

#include<bits/stdc++.h>
using namespace std;
int main(){
	vector<vector<int>> a(5);
	double b;
	int in;
	for(int i=0;i<8;i++){
		cin>>b;
		in=(b-1)/20;
		a[in].push_back(b);
	}
	for(int i=0;i<5;i++){
		sort(a[i].begin(),a[i].end());
		for(int j=0;j<a[i].size();j++){
			cout<<a[i][j]<<" ";
		}
	}
    return 0;
}

小数:

#include<bits/stdc++.h>
using namespace std;
int main(){
	vector<vector<double>> a(5);
	double b;
	int in;
	for(int i=0;i<6;i++){
		cin>>b;
		b*=100;
		in=(b-1)/20;
		a[in].push_back(b);
	}
	for(int i=0;i<5;i++){
		sort(a[i].begin(),a[i].end());
		for(int j=0;j<a[i].size();j++){
			cout<<a[i][j]/100<<" ";
		}
	}
    return 0;
}

负数:

#include<bits/stdc++.h>
using namespace std;
int main(){
	vector<vector<int>> a(5);
	vector<vector<int>> d(5);
	double b;
	int in;
	for(int i=0;i<7;i++){
		cin>>b;
		in=(abs(b)-1)/20;
		if(b<0){
			d[in].push_back(b);
		}else{
			a[in].push_back(b);
		}
	}
	for(int i=0;i<5;i++){
		sort(a[i].begin(),a[i].end());
		sort(d[i].begin(),d[i].end());
		for(int j=0;j<d[i].size();j++){
			cout<<d[i][j]<<" ";
		}
		for(int j=0;j<a[i].size();j++){
			cout<<a[i][j]<<" ";
		}
	}
    return 0;
}

字母:

#include<bits/stdc++.h>
using namespace std;
int main(){
	vector<vector<int>> a(5);
	char b;
	int in;
	for(int i=0;i<4;i++){
		cin>>b;
		in=int((b-1))/20;
		a[in].push_back(b);
	}
	for(int i=0;i<5;i++){
		sort(a[i].begin(),a[i].end());
		for(int j=0;j<a[i].size();j++){
			cout<<char(a[i][j])<<" ";
		}
	}
    return 0;
}

  

posted @ 2025-05-24 09:51  陈若麟  阅读(13)  评论(0)    收藏  举报