/**
* 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,
插入后此元素之后的数,依次后移一个位置。
* @author Dreamweaver
*
*/
public class Demo30 {
/**
* 被插入的数组a至少有一个空位
* @param a
* @param b
*/
public static void insert(int a[],int b) {
int i = 0;
for(;i<a.length;i++) {
if(b<a[i]) {
break;
}
}
for(int j=a.length-2;j>=i;j--) {
a[j+1] = a[j];
}
a[i] = b;
}
public static void main(String[] args) {
int a[] = new int[5];
a[0] = 1;
a[1] = 10;
a[2] = 30;
insert(a,5);
for(int i:a) {
System.out.println(i);
}
}
}
* 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,
插入后此元素之后的数,依次后移一个位置。
* @author Dreamweaver
*
*/
public class Demo30 {
/**
* 被插入的数组a至少有一个空位
* @param a
* @param b
*/
public static void insert(int a[],int b) {
int i = 0;
for(;i<a.length;i++) {
if(b<a[i]) {
break;
}
}
for(int j=a.length-2;j>=i;j--) {
a[j+1] = a[j];
}
a[i] = b;
}
public static void main(String[] args) {
int a[] = new int[5];
a[0] = 1;
a[1] = 10;
a[2] = 30;
insert(a,5);
for(int i:a) {
System.out.println(i);
}
}
}