java给一个顺序表储存一些数据,用两种方法实现表的逆置
时间: 2024-05-09 15:16:59 浏览: 79
8578 顺序表逆置
好的,可以回答您的问题。
实现表的逆置的两种方法如下:
方法一:使用一个临时数组
1. 定义一个临时数组 tempArr,大小与原数组相同;
2. 遍历原数组,将数据从最后一个位置开始存入 tempArr,直到第一个位置;
3. 将 tempArr 的数据复制回原数组。
以下是具体的 Java 代码实现(假设顺序表数据类型为 int):
```
public static void reverseByTempArr(int[] arr) {
int[] tempArr = new int[arr.length];
for (int i = arr.length - 1, j = 0; i >= 0; i--, j++) {
tempArr[j] = arr[i];
}
System.arraycopy(tempArr, 0, arr, 0, arr.length);
}
```
方法二:使用双指针
1. 定义两个指针 left 和 right,分别指向表头和表尾;
2. 交换 left 和 right 所指向的元素,并将 left 向右移动,right 向左移动,直到 left >= right;
3. 完成逆置。
以下是具体的 Java 代码实现(假设顺序表数据类型为 int):
```
public static void reverseByPointer(int[] arr) {
int left = 0;
int right = arr.length - 1;
while (left < right) {
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
left++;
right--;
}
}
```
希望能够解决您的问题,如果还有其他问题,请继续提问。
阅读全文