创建线性表接口IList,声明线性表的基本运算 定义单链表结点类型Node 创建IList接口的实现类LinkList,实现单链表的创建、显示及线性表的基本运算 定义测试类Test,调用相应功能, 调试源代码。 添加删除
时间: 2024-10-23 17:05:56 浏览: 40
首先,我们来创建一个接口`IList`,用于声明线性表的基本操作:
```java
// 接口IList 定义基本的线性表操作
public interface IList<T> {
// 插入元素到列表末尾
void add(T item);
// 删除指定索引位置的元素
void remove(int index);
// 查找元素并返回其索引
int indexOf(T item);
// 返回列表长度
int size();
// 显示列表内容
void display();
}
```
接着,我们定义单链表节点类型`Node`:
```java
// 单链表结点类型 Node
public class Node<T> {
T data;
Node<T> next;
public Node(T data) {
this.data = data;
this.next = null;
}
}
```
现在,我们可以创建实现了`IList`接口的`LinkList`类,它是单链表的具体实现:
```java
// 实现类LinkList
public class LinkList<T> implements IList<T> {
private Node<T> head;
private int size;
// 构造函数,初始化链表为空
public LinkList() {
head = null;
size = 0;
}
// ... 实现add, remove, indexOf, size 和 display 方法
@Override
public void add(T item) {
if (head == null) {
head = new Node<>(item);
} else {
Node<T> current = head;
while (current.next != null) {
current = current.next;
}
current.next = new Node<>(item);
}
size++;
}
// ... 其他方法的实现略...
}
// 测试类 Test,用于调用上述功能
public class Test {
public static void main(String[] args) {
// 创建LinkList实例
LinkList<String> list = new LinkList<>();
// 调用链表操作
list.add("Element1");
list.add("Element2");
list.display(); // 显示链表
// 删除元素
list.remove(0);
list.display();
// 打印元素索引
System.out.println(list.indexOf("Element2"));
}
}
```
最后,为了调试源代码,你可以使用IDE(如Eclipse或IntelliJ IDEA)的调试工具,设置断点在关键方法上,然后运行程序,通过控制台输出查看每个步骤的结果,检查是否存在错误或不符合预期的行为。
阅读全文