数据结构—Java语言描述 实现表顺序 SeqList 类
时间: 2024-11-15 07:23:10 浏览: 0
SeqList 是一个基于 Java 实现的简单线性表数据结构,它通常采用顺序存储(数组)的方式,也称为顺序列表。这种数据结构的特点是可以直接通过索引访问元素,插入和删除操作相对简单,但查找可能效率较低,因为需要从头开始逐个比较。
以下是 `SeqList` 类的一个基本实现:
```java
public class SeqList<T> {
private int size;
private T[] elements;
// 构造函数,初始化一个空列表
public SeqList(int capacity) {
this.size = 0;
this.elements = (T[]) new Object[capacity];
}
// 插入元素到末尾
public void add(T item) {
if (size == elements.length) {
resize(size * 2);
}
elements[size++] = item;
}
// 删除指定位置的元素并返回该值
public T remove(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException();
}
T removedItem = elements[index];
System.arraycopy(elements, index + 1, elements, index, size - index - 1);
elements[size--] = null; // 或者设置为默认值,清理空间
return removedItem;
}
// 获取指定位置的元素
public T get(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException();
}
return elements[index];
}
// 判断是否为空
public boolean isEmpty() {
return size == 0;
}
// 返回列表大小
public int size() {
return size;
}
// 私有方法用于动态调整数组容量
private void resize(int newSize) {
T[] newElements = (T[]) new Object[newSize];
for (int i = 0; i < size; i++) {
newElements[i] = elements[i];
}
elements = newElements;
}
}
```
阅读全文