怎么建立线性表java
时间: 2024-01-15 18:14:50 浏览: 18
在Java中,可以使用数组或链表来实现线性表。下面分别介绍一下两种方式:
1. 数组实现线性表
在Java中,可以使用数组来实现线性表,具体步骤如下:
1)定义一个数组,用来存储线性表中的元素;
2)定义一个变量,用来记录线性表中元素的个数;
3)实现插入、删除、查找等操作,需要注意数组越界的问题。
下面是一个简单的示例代码:
```
public class ArrayList {
private int[] array;
private int size;
public ArrayList() {
array = new int[10];
size = 0;
}
public void add(int element) {
if (size == array.length) {
int[] newArray = new int[array.length * 2];
System.arraycopy(array, 0, newArray, 0, array.length);
array = newArray;
}
array[size++] = element;
}
public void remove(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException();
}
for (int i = index; i < size - 1; i++) {
array[i] = array[i + 1];
}
size--;
}
public int get(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException();
}
return array[index];
}
public int size() {
return size;
}
}
```
2. 链表实现线性表
在Java中,可以使用链表来实现线性表,具体步骤如下:
1)定义一个节点类,包含一个数据域和一个指针域;
2)定义一个链表类,包含一个头节点和一个尾节点;
3)实现插入、删除、查找等操作,需要注意链表为空或只有一个节点的情况。
下面是一个简单的示例代码:
```
public class LinkedList {
private Node head;
private Node tail;
private int size;
private class Node {
int data;
Node next;
public Node(int data) {
this.data = data;
}
}
public LinkedList() {
head = null;
tail = null;
size = 0;
}
public void add(int element) {
Node newNode = new Node(element);
if (head == null) {
head = newNode;
tail = newNode;
} else {
tail.next = newNode;
tail = newNode;
}
size++;
}
public void remove(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException();
}
if (index == 0) {
head = head.next;
if (head == null) {
tail = null;
}
} else {
Node prev = getNode(index - 1);
prev.next = prev.next.next;
if (prev.next == null) {
tail = prev;
}
}
size--;
}
public int get(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException();
}
Node node = getNode(index);
return node.data;
}
private Node getNode(int index) {
Node node = head;
for (int i = 0; i < index; i++) {
node = node.next;
}
return node;
}
public int size() {
return size;
}
}
```