请问这个代码应该怎么填。。。。。。
首先说一下插入排序的思想:从第二个数开始,跟它前面的数值进行比较,直到找到比它小的数值然后插入到该数值的后面,同时把比该数值大的数值后移一位。
代码1:
n[0]=n[i]; //用n[0]保存要插入的数值
代码2:
j>0&&n[0]<n[j]
代码3:
n[j+1]=n[j];//从原来的位置后移一位
代码4;
n[j+1]
你试一下 应该可以运行 ,有问题了告诉我哈。
public static void main(String[] args) {
int[]csm=new int[6]; //定义一个长度为6的数组
csm[0]=99;
csm[1]=85;
csm[2]=82;
csm[3]=63;
csm[4]=60;
//定义一个变量index,用来接收下标,作为记录用。
int index=99; //默认值要比你定义的数组长度大
System.out.println("请输入您的新成绩:");
Scanner input=new Scanner(System.in);
int num=input.nextInt(); // 需要插入的数值,从键盘中获得
//找到新元素的插入位置,就是下标
for(int i=0;i<csm.length;i++){
if(num>csm[i]){
index=i;
System.out.println(index);
}
}
}
}
敲了个例子不知道对你有没有用
for(int i = 2;i<n.length; i++)
{
double temp= n[i];
for(j =i - 1; j>=0 && n[j] >temp; j--){
n[j+1] = temp;
}
n[j+1] = temp;
}