int[] arr = {1, 3, 6, 8, 9, 5, 6, 4, 1, 3, 3, 4, 2,10,10,6,6,6,10};
boolean key = true;
int count = 0, i, j;
int new_count=0;
int temp;
//获取重复值的个数,声明一个相同长度的数组
for (i = 0; i < arr.length - 1; i++) {
for (j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) {
new_count++;
break;
}
}
}
int[] new_arr = new int[new_count+1];
//把相同值的索引赋值给新数组中
for (i = 0; i < arr.length - 1; i++) {
for (j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) {
new_arr[count++] = j;
break;
}
}
}
new_arr[count] = 0;
//new_arr排序
for(i=0;i<new_arr.length-2;i++){
for(j=i+1;j<new_arr.length-1;j++){
if(new_arr[i]>new_arr[j]){
temp = new_arr[i];
new_arr[i] = new_arr[j];
new_arr[j] = temp;
}
}
}
//遍历如果遇到相同的索引就跳出循环。
j = 0;
for (i = 0; i <= new_arr.length; i++) {
if (!key) {
j = new_arr[i - 1];
j++;
key = true;
}
for (; j < arr.length; j++) {
if (new_arr[i] == j) {
key = false;
break;
} else {
System.out.print(arr[j] + " ");
}
}
}
Java实现数组去重(纯原生)
最新推荐文章于 2022-11-15 13:46:14 发布