Java编写线性表实现插入、删除、按值查找和按序号查找
时间: 2023-03-31 17:01:07 浏览: 127
可以回答这个问题。Java编写线性表可以使用数组或链表实现,插入可以在指定位置插入元素,删除可以删除指定位置或指定元素,按值查找可以遍历整个线性表查找指定元素,按序号查找可以直接访问指定位置的元素。具体实现可以参考相关的数据结构和算法书籍。
相关问题
Java编写线性表代码实现插入、删除、按值查找和按序号查找
可以回答这个问题。Java编写线性表代码实现插入、删除、按值查找和按序号查找的代码如下:
```
public class LinkedList {
private Node head;
private int size;
public LinkedList() {
head = null;
size = ;
}
public void insert(int index, int value) {
if (index < || index > size) {
throw new IndexOutOfBoundsException();
}
Node newNode = new Node(value);
if (index == ) {
newNode.next = head;
head = newNode;
} else {
Node prev = getNode(index - 1);
newNode.next = prev.next;
prev.next = newNode;
}
size++;
}
public void delete(int index) {
if (index < || index >= size) {
throw new IndexOutOfBoundsException();
}
if (index == ) {
head = head.next;
} else {
Node prev = getNode(index - 1);
prev.next = prev.next.next;
}
size--;
}
public int findByValue(int value) {
Node current = head;
int index = ;
while (current != null) {
if (current.value == value) {
return index;
}
current = current.next;
index++;
}
return -1;
}
public int findByIndex(int index) {
if (index < || index >= size) {
throw new IndexOutOfBoundsException();
}
Node node = getNode(index);
return node.value;
}
private Node getNode(int index) {
Node current = head;
for (int i = ; i < index; i++) {
current = current.next;
}
return current;
}
private class Node {
int value;
Node next;
public Node(int value) {
this.value = value;
next = null;
}
}
}
```
阅读全文