用java编写数组的头插,尾插,任意位置插程序
时间: 2024-09-13 11:15:04 浏览: 35
在Java中,插入元素到数组通常需要创建一个新的更大的数组,然后将原数组的内容和新插入的元素复制过去。这里分别讲解如何实现头部、尾部和任意位置插入:
1. **头部插入(Head Insertion)**:
```java
public static int[] insertAtStart(int[] array, int element) {
int newArraySize = array.length + 1;
int[] newArray = new int[newArraySize];
newArray[0] = element; // 插入元素到第一个位置
System.arraycopy(array, 0, newArray, 1, array.length); // 将原数组的其余部分复制到新数组
return newArray;
}
```
2. **尾部插入(Tail Insertion)**:
```java
public static int[] insertAtEnd(int[] array, int element) {
int newArraySize = array.length + 1;
int[] newArray = new int[newArraySize];
System.arraycopy(array, 0, newArray, 0, array.length); // 先复制原数组内容
newArray[newArraySize - 1] = element; // 在末尾添加新的元素
return newArray;
}
```
3. **任意位置插入(Insert at a Specific Index)**:
```java
public static int[] insertAtIndex(int[] array, int index, int element) {
if (index < 0 || index > array.length) {
throw new IllegalArgumentException("Invalid index");
}
int newArraySize = array.length + 1;
int[] newArray = new int[newArraySize];
System.arraycopy(array, 0, newArray, 0, index); // 将前index个元素复制到新数组
newArray[index] = element; // 插入元素
System.arraycopy(array, index, newArray, index + 1, array.length - index); // 将剩余元素复制到新数组
return newArray;
}
```
请注意,以上操作会创建新的数组并返回,原始数组不会被修改。如果要在原地插入,数组就需要先扩容再删除多余元素,但这会改变数组的引用,而非原地插入。
阅读全文