文艺到初赛的题目
  • 板块学术版
  • 楼主人间温柔
  • 当前回复15
  • 已保存回复15
  • 发布时间2020/9/3 23:00
  • 上次更新2023/11/5 13:46:06
查看原帖
文艺到初赛的题目
178195
人间温柔楼主2020/9/3 23:00

以下是某年pj初赛的真题,本蒟蒻想问一个问题。

其中基数排序的主题代码如下:

int n;
int a[100];
vector<int>bin[100];
bool check()
{
	for(int i=2;i<=n;i++)
		if(a[i]<a[i-1])
			return false;
	return true;
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		bin[a[i]%10].push_back(a[i]);
	}
	while(check()==false)
	{
		int k=0;
		for(int i=0;i<=9;i++)
			for(int j=0;j<bin[i].size();j++)
				a[++k]=bin[i][j];
		for(int i=0;i<=9;i++)
			bin[i].clear();
	}
	return 0;
}

桶排序的主题代码如下:

int n;
int max_num=-100000,min_num=1e9;
int a[100];
int b[100];
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		int a;
		cin>>a;
		b[a]++;
		max_num=max(max_num,a);
		min_num=min(min_num,a);
	}
	for(int i=min_num;i<=max_num;i++)
	{
		for(int j=1;j<=b[i];j++)
		{
			cout<<i<<" ";
		}
	}
	return 0;
}

似乎基数排序和桶排序都没有用到关键字比较操作呀呀呀,但是为什么标准答案只认基数排序,我选了桶排序就算错?还请打咯啊帮忙解释一下qwqqwq

2020/9/3 23:00
加载中...