java基础之一维数组元素的插入

Giser_往事随风 2017-11-15 03:33:00
1.先对数组进行排序(Arrays.sort(数组名) );

2.对数组扩容:定义一个新数组接收原数组,int [] 新数组名=Arrays.copyOf(原数组名,num.length+1);

3.定义一个index用来保存插入位置的下标;

4. 输入新元素a,用for循环,里面加一个if,判断条件是数组中任一元素>a,找到下标。

5.新建一个for循环,自插入位置元素起(不包含即i>index)向右所有元素都向右移一位(因为之前扩容过一位,最后一个元素为0,所以长度是正好的);

6.将新数组下标为index的元素赋值为插入的元素;

7.输出新数组即可。

实例:

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] scores = { 99, 85, 82, 63, 60 };
Arrays.sort(scores);
int[] scores1 = Arrays.copyOf(scores, scores.length + 1);
int index = 0;
System.out.println("请输入新增成绩:");
int a = sc.nextInt();
for (int i = 0; i < scores1.length; i++) {
if (scores[i] > a) {
index = i;
break;
}
}
for (int i = scores1.length - 1; i > index; i--) {
scores1[i] = scores[i - 1];
}
scores1[index] = a;
System.out.println("插入后的成绩下标是:" + index);
System.out.println("插入后的成绩信息是:");
for (int i : scores1) {
System.out.print(i + "\t");
}
}
...全文
540 4 1 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
自由自在_Yu 2017-11-15
  • 打赏
  • 举报
回复
李德胜1995 2017-11-15
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
相关推荐
发帖
Java
加入

4.8w+

社区成员

Java相关技术讨论
申请成为版主
帖子事件
创建了帖子
2017-11-15 03:33
社区公告
暂无公告