2.编写将一维数组a[]中互不相同的数按从小到大顺序重新存于一维数组a[]的程序。
class A{
public static void main(String[] args){
int a[]={15,7,15,6,4,3,4,6,7};
int i,j,k,low,high,mid,t;
for(i=k=1;i<a.length;i++){
low=0;
high=k-1;
while( high>=low ){
mid=(low+high)/2;
if(a[mid]>=a[i])
high=mid-1;
else low=mid+1;
}
if( a[low]>a[i]|| a[low]!=a[i]){
t=a[i];
for(j=k-1;j>=low;j--)
a[j+1]=a[j];
a[0]=t;
k++;
}
}
for(j=0;j<k;j++)
System.out.println(a[j]);
}
}
class A{
public static void main(String[] args){
int a[]={15,7,15,6,4,3,4,6,7};
int i,j,k,low,high,mid,t;
for(i=k=1;i<a.length;i++){
low=0;
high=k-1;
while( high>=low ){
mid=(low+high)/2;
if(a[mid]>=a[i])
high=mid-1;
else low=mid+1;
}
if( a[low]>a[i]|| a[low]!=a[i]){
t=a[i];
for(j=k-1;j>=low;j--)
a[j+1]=a[j];
a[0]=t;
k++;
}
}
for(j=0;j<k;j++)
System.out.println(a[j]);
}
}