创建一个线性表,线性表数据元素为int类型,表示学生成绩,编写顺序表定义,初始化,插入,删除,查找
时间: 2024-09-10 07:07:57 浏览: 87
创建一个线性表来存储学生成绩,我们可以定义一个顺序表类,包含初始化、插入、删除和查找等基本操作。以下是一个简单的实现示例:
```java
public class IntList {
// 用于存储学生成绩的数组
private int[] array;
// 当前存储的元素个数
private int count;
// 构造函数,初始化顺序表
public IntList(int capacity) {
array = new int[capacity];
count = 0;
}
// 向顺序表中插入元素
public void insert(int index, int value) {
if (index < 0 || index > count) {
throw new IndexOutOfBoundsException("插入位置不合法");
}
if (count == array.length) {
// 数组已满,需要扩容
int[] newArray = new int[array.length * 2];
for (int i = 0; i < index; i++) {
newArray[i] = array[i];
}
newArray[index] = value;
for (int i = index; i < count; i++) {
newArray[i + 1] = array[i];
}
array = newArray;
} else {
for (int i = count; i > index; i--) {
array[i] = array[i - 1];
}
array[index] = value;
}
count++;
}
// 从顺序表中删除元素
public void delete(int index) {
if (index < 0 || index >= count) {
throw new IndexOutOfBoundsException("删除位置不合法");
}
for (int i = index; i < count - 1; i++) {
array[i] = array[i + 1];
}
count--;
}
// 查找元素,返回元素的索引,如果不存在返回-1
public int find(int value) {
for (int i = 0; i < count; i++) {
if (array[i] == value) {
return i;
}
}
return -1;
}
// 获取元素,返回指定位置的元素值
public int get(int index) {
if (index < 0 || index >= count) {
throw new IndexOutOfBoundsException("索引位置不合法");
}
return array[index];
}
// 打印顺序表中的所有元素
public void printList() {
for (int i = 0; i < count; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
}
}
```
这段代码定义了一个`IntList`类,它有一个整型数组来存储学生成绩,一个`count`变量来记录当前存储的元素个数。类中实现了初始化、插入、删除、查找和打印等方法。这个类可以创建一个顺序表对象,并对其进行基本操作。
阅读全文