1.根据键盘输入数据建立一个单链表,并输出该单链表; 2.根据屏幕菜单的选择,进行数据的插入、删除、查找操作,并在插入或删除后,再输出单链表; 操作结束后,在屏幕菜单中选择0,从而结束程序运行。
时间: 2024-09-27 19:14:17 浏览: 43
在计算机编程中,特别是使用命令行界面或者控制台应用,你可以按照以下步骤来构建这个简单的单链表程序:
1. **建立单链表**:
- 首先,你需要定义一个Node类,包含一个值域(如`int value`)、一个指向下一个节点的引用(`Node* next`)。然后创建一个空的头节点(`Node head = NULL;`)。
- 当用户通过键盘输入数据时,你可以循环读取并创建新的Node实例,将其添加到链表尾部(如果头节点为空则直接设置,否则遍历到尾部并更新`next`指针)。
```cpp
void insert(int data) {
Node* newNode = new Node{data};
if (head == NULL) {
head = newNode;
} else {
Node* temp = head;
while (temp->next != NULL) {
temp = temp->next;
}
temp->next = newNode;
}
}
```
2. **操作链表**:
- 对于插入、删除和查找操作,可以分别设计函数:
- 插入:调用`insert(data)`函数。
- 删除:遍历链表,找到指定值的节点,将前一个节点的`next`指向被删除节点的下一个节点。
- 查找:同样遍历链表,直到找到指定值或遍历完未找到。
3. **输出链表**:
- 可以编写一个`printList()`函数,遍历链表打印每个节点的值。
4. **主循环和菜单**:
- 你在屏幕上显示菜单让用户选择操作(例如,1插入,2删除,3查找,0退出),然后根据用户输入调用相应的函数。
- 用户选择0后,跳出循环并关闭程序。
```cpp
void printList() {
Node* temp = head;
while (temp != NULL) {
cout << temp->value << " -> ";
temp = temp->next;
}
cout << "NULL" << endl;
}
// 主循环
while (true) {
int choice;
cin >> choice;
switch (choice) {
case 1:
int data;
cin >> data;
insert(data);
break;
// ...处理其他选项...
case 0:
cout << "Program exiting..." << endl;
return;
default:
cout << "Invalid option, please try again." << endl;
}
printList();
}
```
阅读全文