class Test3
{
//3. 对于一个有序的数组,如果要插入一个元素并保证数组还有序,
//问如何获取该元素位置。用二分法
public static void main(String[] args)
{
int [] arr = {0,1,3,4,6,7,8,9};
int num = -1;
insertArray(arr,num);
}
public static void insertArray(int []arr,int num)
{
int count=-1;
int newarr []= new int [arr.length+1];
for(int i=0;i<arr.length;i++)
if(arr[i]>=num)
{
count=i;
break;
}
else
{
count=arr.length;
newarr[arr.length] = num;
}
for (int i = 0; i < count; i++)
newarr[i]=arr[i];
for (int i =newarr.length-1;i>count; i--)
newarr[i]=arr[i-1];
newarr[count]=num;
System.out.println("插入后的数组:");
for (int i = 0; i < newarr.length; i++)
System.out.print(newarr[i]+"\t");
}
}
{
//3. 对于一个有序的数组,如果要插入一个元素并保证数组还有序,
//问如何获取该元素位置。用二分法
public static void main(String[] args)
{
int [] arr = {0,1,3,4,6,7,8,9};
int num = -1;
insertArray(arr,num);
}
public static void insertArray(int []arr,int num)
{
int count=-1;
int newarr []= new int [arr.length+1];
for(int i=0;i<arr.length;i++)
if(arr[i]>=num)
{
count=i;
break;
}
else
{
count=arr.length;
newarr[arr.length] = num;
}
for (int i = 0; i < count; i++)
newarr[i]=arr[i];
for (int i =newarr.length-1;i>count; i--)
newarr[i]=arr[i-1];
newarr[count]=num;
System.out.println("插入后的数组:");
for (int i = 0; i < newarr.length; i++)
System.out.print(newarr[i]+"\t");
}
}