插入数据那块是怎么执行的?没看明白啊 就是红色那块谁能详细给我讲解一下
public static void main(String[] args) {
int max=100;
OrdArray arr;
arr = new OrdArray(max);
arr.insert(77);
arr.insert(99);
arr.insert(44);
arr.insert(55);
arr.insert(22);
arr.display(); }}
class OrdArray{
private long []a;
private int n;
public OrdArray(int max){
a = new long[max];
n=0;
}
public void insert(long value){
int j;
for(j=0;j<n;j++)
if(a[j]>value)
break;
for(int k=n;k>j;k--)
a[k]=a[k-1];
a[j]=value;
n++;
} public void display(){
for(int j=0;j<n;j++)
System.out.println(a[j]+" ");
} }
public static void main(String[] args) {
int max=100;
OrdArray arr;
arr = new OrdArray(max);
arr.insert(77);
arr.insert(99);
arr.insert(44);
arr.insert(55);
arr.insert(22);
arr.display(); }}
class OrdArray{
private long []a;
private int n;
public OrdArray(int max){
a = new long[max];
n=0;
}
public void insert(long value){
int j;
for(j=0;j<n;j++)
if(a[j]>value)
break;
for(int k=n;k>j;k--)
a[k]=a[k-1];
a[j]=value;
n++;
} public void display(){
for(int j=0;j<n;j++)
System.out.println(a[j]+" ");
} }
public class Test{
public static void main(String[] args) {
int max=100;
OrdArray arr;
arr = new OrdArray(max);
arr.insert(77);
arr.insert(99);
arr.insert(44);
arr.insert(55);
arr.insert(22);
arr.display();
}
}class OrdArray{
private long []a;
private int n;
public OrdArray(int max){
a = new long[max];
n=0; //这里定义的n为数组中元素的个数,初始化为0
}
public void insert(long value){
int j;
for(j=0;j <n;j++) //从数组的第一个元素开始,依次与欲新插入的元素进行比较,直到数组的最后一个元素
if(a[j]>value) //如果数组中某个元素大于欲新插入的元素,则停止比较,退出循环,此时的a[j]就是数组中第一个大于欲新插入的元素的元素,也就是说,要将value插入到a[j]里,并将从a[j]开始的元素,依次往后挪一位
break;
for(int k=n;k>j;k--) //从数组的最后一个元素开始,依次往后挪一位,直到a[j]
a[k]=a[k-1];
a[j]=value; //将value放入a[j]
n++; //数组中的元素个数加1
}
public void display(){
for(int j=0;j <n;j++)
System.out.println(a[j]+" ");
}
}