因为数组是有序的,想通过对比左右的元素来去重。如果是不重复的元素,加入新数组,重复的元素只取一个加入。publicclassHebing2{publicstaticvoidmain(String[]args){int[]a={2,3,7,...
因为数组是有序的,想通过对比左右的元素来去重。如果是不重复的元素,加入新数组,重复的元素只取一个加入。
public class Hebing2
{
public static void main(String[] args)
{
int[] a={2,3,7,12,16,21,45,76};
int[] b={1,5,12,14,17,21,36,45,78,98};
int[] c=new int[15];
int[] d=new int[a.length+b.length];
int[] e=new int[d.length];
int temp=0,num=0,f=0;
//合并数组a,b
for(int i=0;i
{
if(i
d[i]=a[i];
d[i+a.length]=b[i];
}
//数组d由小到大排序
for(int j=0;j
for(int k=1;k
{
if(d[j]>d[k]&&j
{
temp=d[j];
d[j]=d[k];
d[k]=temp;
}
}
//对比左右元素
for(int m=0;m
{
if((m==0&&d[m]==d[m+1])||(m==d.length-1&&d[m]==d[m-1])||((m>0&&m
{
if(d[m]!=f)
e[m-num]=d[m];
num++;
f=d[m];
}
else e[m-num]=d[m];
}
for(int q=0;q
System.out.print(" "+e[q]);
}
}
数组越界了,不知知道哪里错了;可能还有问题,请帮忙
展开