//随机生成1000个1~100之内的整数,统计出不重复的数值和其重复的次数
int[]arr = new int[1000];
//unique数组存储不重复的数值
int[]unique = new int[100];
//count数组存储重复数值的次数
int[]count = new int[100];
int k = 0;
unique[k]=rand.nextInt(100)+1;
arr[0]=unique[k];
count[k++]=1;
for(int i=1,j;i<arr.length;i++){
arr[i]=rand.nextInt(100)+1;
for(j=0;j<k;j++){
if(unique[j]==arr[i]){
break;
}
}
if(j==k){
unique[k]=arr[i];
count[k]=1;
k++;
}else {
count[j]++;
}
}
//分别用冒泡排序法和选择排序法输出结果
System.out.println(k+"个不重复元素,冒泡排序后:");
for (int m = 0,t; m <k-1 ; m++) {
for (int n = 0; n <k-1-m ; n++) {
if(unique[n]>unique[n+1]){
t=unique[n];
unique[n]=unique[n+1];
unique[n+1]= t;
t=count[n];
count[n]=count[n+1];
count[n+1]= t;
}
}
}
System.out.println(k+"个不重复元素,选择排序后:");
for(int m = 0;m<k-1;m++){
int min = m;
for(int n= m+1;n<k;n++){
if(count[min]>=count[n]){
min=n;
}
}
if(min!=m) {
int a = count[m];
count[m] = count[min];
count[min] = a;
a = unique[m];
unique[m] = unique[min];
unique[min] = a;
}
}
for(int i=0;i<k;i++){
System.out.println(unique[i]+":"+count[i]);
}