1.桶排序解决(在网站中可以AC)
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
int a[1001],n,i,t;
int count=0;
for(i=1;i<=1000;i++)
a[i]=0; //初始化
cin>>n; //读入n
for(i=1;i<=n;i++) //循环读入n个图书的ISBN号
{
cin>>t; //把每一个ISBN号读到变量t中
if(a[t]==0)
{
a[t]=1; //标记出现过的ISBN号
count++;
}
}
cout<<count<<endl;
for(i=1;i<=1000;i++) //依次判断1~1000这个1000个桶
{
if(a[i]==1)//如果这个ISBN号出现过则打印出来
{cout<<i<<' ';
}
}
getchar();getchar();
return 0;
}
2.冒泡排序(没有AC!!!!)
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
int arr[1001];
int count=0;
int n;//控制几个数字
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&arr[i]);
}
int temp;
for(int i=1;i<n-1;i++)//n个数排序,进行n-1趟(趟数)
{
for(int j=1;j<=n-i;j++)//从第一位开始
{
if(arr[j]>arr[j+1])
{
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
for(int i=2;i<=n;i++)
{
if(arr[i]!=arr[i-1])
count++;
}
printf("%d\n",count);
for(int i=2;i<=n;i++)
{
if(arr[i]!=arr[i-1])
printf("%d",arr[i]);
printf(" ");
}
return 0;
}