忍不住自己动手试试,直接显示插入后数组。我想到了两种方法,
第一种最简单:
建立新数组,把原数组+先要插入的数全部赋值给新数组,把新数组重新排序。。。。。一种白痴方法
第二种:
通过前边的折半查找返回的数组角标位置直接插入。这个方法让我费了半天劲,基本上这个方法让我把视频前几天的复习了一遍~_~!
程序能运行,结果正常,请大家来看看还有什么错么。
复制代码
- public class Score {
- public static void main(String [] args)
- {
- int arr[]={4,8,9,11,23,45};
- int a=zbcz(arr,10);
- System.out.println("把10插入第"+a+"位后面");
- System.out.print("插入后数组是:");
- int b[]=new int[arr.length+1];//定义新数组用来盛放原数组+要插入的数
- for(int x=0,y=0;y<arr.length;x++,y++)
- {b[x]=arr[y];}//把原数组赋值给新数组
- b[a]=10;
- for(int m=b.length-1;m>a;m--)
- {
- b[m]=arr[m-1];
- }
- for(int l=0;l<b.length;l++)
- System.out.print(b[l]+",");
- /*
- for(int m=a;m<b.length-a;m++)
- {
- b[m+1]=b[m];
- }
- System.out.println("新数组"+b);
- */
- }
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |