Java实现一个有序递增顺序表,实现元素比较大小后插入,删除等操作
时间: 2024-04-29 12:21:10 浏览: 20
1. 首先定义一个有序递增顺序表类,包含以下成员变量和方法:
```java
public class SortedList {
private int[] data; // 存储元素的数组
private int size; // 元素个数
public SortedList(int capacity) {
data = new int[capacity];
size = 0;
}
public void insert(int value) {
// 1. 找到插入位置
int index = 0;
while (index < size && data[index] < value) {
index++;
}
// 2. 将插入位置及之后的元素向后移动一位
for (int i = size - 1; i >= index; i--) {
data[i + 1] = data[i];
}
// 3. 插入新元素
data[index] = value;
size++;
}
public void delete(int value) {
// 1. 找到要删除的元素位置
int index = 0;
while (index < size && data[index] != value) {
index++;
}
// 2. 将删除位置及之后的元素向前移动一位
for (int i = index; i < size - 1; i++) {
data[i] = data[i + 1];
}
// 3. 将最后一位设置为0,元素个数减1
data[size - 1] = 0;
size--;
}
public int getSize() {
return size;
}
public int get(int index) {
return data[index];
}
public void print() {
for (int i = 0; i < size; i++) {
System.out.print(data[i] + " ");
}
System.out.println();
}
}
```
2. 在 insert 方法中,先找到插入位置,然后将插入位置及之后的元素向后移动一位,最后将新元素插入到插入位置上。
3. 在 delete 方法中,先找到要删除的元素位置,然后将删除位置及之后的元素向前移动一位,最后将最后一位设置为0,元素个数减1。
4. 在 get 方法中,直接返回指定位置的元素。
5. 在 print 方法中,遍历数组输出所有元素。
6. 测试代码如下:
```java
public static void main(String[] args) {
SortedList list = new SortedList(10);
list.insert(5);
list.insert(2);
list.insert(8);
list.insert(3);
list.insert(6);
list.print(); // 2 3 5 6 8
list.delete(3);
list.print(); // 2 5 6 8
System.out.println(list.get(2)); // 6
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)