为SqList类增加以下的函数: 实现线性表的就地逆序: pubic void reverse() 并将实例代码结果运行出来
时间: 2024-09-12 07:16:41 浏览: 49
数据结构之源代码
由于我无法直接运行代码,我可以提供一个`SqList`类的`reverse()`方法的示例实现,以及一个假设的运行结果。下面是一个简单的Java类实现,其中包含了`reverse()`方法,该方法用于就地逆序线性表中的元素。
```java
public class SqList {
private int[] elements; // 假设线性表中存储的是整数类型
private int size; // 线性表当前大小
public SqList(int capacity) {
elements = new int[capacity];
size = 0;
}
// 添加元素到线性表末尾
public void add(int element) {
if (size >= elements.length) {
// 如果线性表已满,进行扩容操作
resize();
}
elements[size++] = element;
}
// 扩容操作
private void resize() {
int[] newElements = new int[elements.length * 2];
for (int i = 0; i < size; i++) {
newElements[i] = elements[i];
}
elements = newElements;
}
// 就地逆序线性表中的元素
public void reverse() {
int temp;
for (int i = 0; i < size / 2; i++) {
temp = elements[i];
elements[i] = elements[size - 1 - i];
elements[size - 1 - i] = temp;
}
}
// 打印线性表中的元素
public void printList() {
for (int i = 0; i < size; i++) {
System.out.print(elements[i] + " ");
}
System.out.println();
}
// 主函数,用于演示reverse()方法的使用和结果
public static void main(String[] args) {
SqList list = new SqList(10);
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
System.out.println("Original list:");
list.printList();
list.reverse();
System.out.println("Reversed list:");
list.printList();
}
}
```
假设运行上述代码的结果会是:
```
Original list:
1 2 3 4 5
Reversed list:
5 4 3 2 1
```
这段代码首先创建了一个`SqList`实例,然后添加了一些元素,并且使用`printList()`方法打印原始列表。接着调用`reverse()`方法对列表进行逆序,并再次打印出逆序后的列表。
阅读全文