版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdkyxy2013/article/details/81901077
示例:有一个数组{12,22,45,67,88,100},现在需要将80插入这个数组中,保证数组有序,计算插入位置的下标,并且打印插入80之后的数组,结果应该为:插入位置的下标为4,插入80之后的数组为[12,22,45,67,80,88,100]。
【代码】
package com.xzw.csdn;
import java.util.Arrays;
/**
* 示例:
* 有一个数组{12,22,45,67,88,100},现在需要将80插入这个数组中,保证数组有序,计算插入位置的下标,
* 并且打印插入80之后的数组,结果应该为:插入位置的下标为4,插入80之后的数组为[12,22,45,67,80,88,100]
* @author xzw
*
*/
public class Example {
/**
* 主函数
* @param args
*/
public static void main(String[] args) {
int[] array = {12,22,45,67,88,100};
int index = -1;
//获取下标
for (int i = 1; i < array.length; i++) {
if (array[i-1] <= 80 && array[i] >= 80) {
index = i;
break;
}
}
//扩容
array = Arrays.copyOf(array, array.length+1);
//右移
for (int i = array.length - 1; i > index; i--) {
array[i] = array[i-1];
}
//添加80
array[index] = 80;
System.out.println("插入位置的下标为" + index + ",插入80之后的数组为" +Arrays.toString(array));
}
}
你们在此过程中遇到了什么问题,欢迎留言,让我看看你们都遇到了哪些问题。