设计一个程序,实现顺序表的基本操作运算,包括:初始化顺序表,尾插法插 入数据,显示数据表。用c++
时间: 2024-10-18 14:04:58 浏览: 31
实验一 顺序表基本操作的实现
设计一个简单的顺序表程序(也称为线性表),可以使用结构体表示元素以及数组作为存储容器。以下是基本操作的C++实现:
```cpp
#include <iostream>
// 定义顺序表元素结构
struct Node {
int data;
Node* next; // 指向下一个节点的指针
};
// 初始化顺序表
void initializeList(Node** head) {
*head = nullptr; // 初始为空
}
// 尾插法插入数据
void insertAtEnd(Node** head, int value) {
Node* newNode = new Node(); // 创建新节点
newNode->data = value;
newNode->next = nullptr;
if (*head == nullptr) { // 如果列表为空,直接设置头节点
*head = newNode;
} else {
Node* current = *head;
while (current->next != nullptr) {
current = current->next;
}
current->next = newNode; // 插入到末尾
}
}
// 显示顺序表数据
void displayList(Node* head) {
Node* temp = head;
while (temp != nullptr) {
std::cout << temp->data << " ";
temp = temp->next;
}
std::cout << std::endl;
}
int main() {
Node* head = nullptr;
initializeList(&head);
// 插入示例
for (int i = 0; i < 5; ++i) {
insertAtEnd(&head, i);
}
// 显示数据
std::cout << "顺序表内容: ";
displayList(head);
return 0;
}
```
在这个程序中,`initializeList`函数负责创建一个空的顺序表,`insertAtEnd`用于在列表尾部添加元素,`displayList`则用于遍历并打印整个列表的内容。
阅读全文