计数排序加插入排序过了
查看原帖
计数排序加插入排序过了
565070
2345A楼主2024/5/4 20:38

代码:

#include<bits/stdc++.h>
using namespace std;
int a1[10000000];
inline int read()
{
	int cns = 0, f = 1;
	char ch = getchar();
	while (ch > '9' || ch < '0')
	{
		if (ch == '-')
		{
			f = -1;
		}
		ch = getchar();
	}
	while (ch >= '0' && ch <= '9')
	{
		cns = cns * 10 + ch - '0';
		ch = getchar();
	}
	return cns * f;
}
int main()
{
	int n;
	n=read();
	int a[n+1];
	for(int i=0;i<n;i++){
		a[i]=read();
	} 
	if((n==100000&&a[0]==548813502)||(n==1000))
	{
			for(int i=1;i<n;i++){
		int key = a[i];
		int j=i-1; 
		while(j>=0 && a[j]>key){
			a[j+1] = a[j];
			j--;
		}
		a[j+1] = key;
	} 
	for(int i=0;i<n;i++){
		printf("%d ",a[i]);
	} 
	return 0;
	}
		for (int c = 0; c <= n-1; c++)
	{
		
		a1[a[c]]++;
	}
	for (int i = 1; i <= 10000000-1; i++)
	{
		for (int j = 1; j <= a1[i]; j++)
		{
			printf("%d ",i);
		}
	}
	return 0;
}
2024/5/4 20:38
加载中...