顺序表练习 创建一个顺序表,并从键盘接收数字输入,将输入的正整教按从小到大的顺序插入顺序表,并在输入负整数的时候将其绝对值数据删除。每次输入后,将顺序表的内容打印到屏幕上,
时间: 2024-09-13 20:02:15 浏览: 48
顺序表是一种线性表的顺序存储结构,它使用一段连续的存储单元一次存储线性表的数据元素。顺序表的长度可以动态变化,支持在表的任何位置进行插入和删除操作。
下面是一个简单的Java程序示例,用于创建一个顺序表,实现题目中的要求:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class SequentialListExercise {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList<Integer> sequentialList = new ArrayList<>();
System.out.println("请输入数字,正数加入顺序表,负数则删除绝对值对应元素,输入非数字结束:");
while (scanner.hasNext()) {
if (scanner.hasNextInt()) {
int number = scanner.nextInt();
if (number > 0) {
// 插入正整数
sequentialList.add(number);
// 从小到大排序
sequentialList.sort(Integer::compareTo);
} else {
// 删除绝对值对应的元素
int indexToRemove = sequentialList.indexOf(Math.abs(number));
if (indexToRemove != -1) {
sequentialList.remove(indexToRemove);
}
}
} else {
// 非数字输入,结束程序
break;
}
// 打印顺序表内容
System.out.println("当前顺序表内容:" + sequentialList);
}
scanner.close();
}
}
```
这段代码首先创建了一个`ArrayList`来作为顺序表的实现。程序会一直循环,提示用户输入数字,根据输入的数字类型(正数或负数)来决定是向顺序表中插入元素还是删除元素。正数会被加入顺序表,并且在每次插入后都会对顺序表进行排序,以保持从小到大的顺序。如果输入的是负数,则会查找其绝对值对应的元素,并将其删除。当用户输入非数字字符时,程序会停止运行。
阅读全文