建立一个顺序表L=(1,2,3,4,5,6),实现对顺序表的建立插入和删除,用c++语言进行实现
时间: 2024-11-07 16:13:35 浏览: 17
在C++中,我们可以创建一个简单的线性表结构,称为顺序表(也叫数组列表),然后实现插入和删除操作。这里是一个基础的实现示例:
```cpp
#include <iostream>
// 定义顺序表节点
struct ListNode {
int data;
ListNode* next; // 指向下一个节点的指针
};
// 创建空链表
ListNode* createList() {
return nullptr;
}
// 插入元素到链表末尾
void insert(int value, ListNode*& head) {
if (!head) {
head = new ListNode{value, nullptr};
} else {
ListNode* current = head;
while (current->next != nullptr) {
current = current->next;
}
current->next = new ListNode{value, nullptr};
}
}
// 删除指定位置的元素
bool deleteElement(int position, ListNode*& head) {
if (!head || position <= 0) {
return false;
}
ListNode* temp = head;
for (int i = 0; i < position - 1 && temp; ++i) {
temp = temp->next;
}
if (temp && temp->next) {
ListNode* toDelete = temp->next;
temp->next = temp->next->next;
delete toDelete;
return true;
}
return false; // 如果位置无效,返回false
}
// 打印顺序表
void printList(ListNode* head) {
ListNode* current = head;
while (current) {
std::cout << current->data << " ";
current = current->next;
}
std::cout << "\n";
}
int main() {
ListNode* list = createList();
insert(1, list);
insert(2, list);
// ... (继续插入元素)
printList(list); // 打印初始列表
// 删除某个元素
if (deleteElement(3, list)) {
printList(list); // 删除后打印
}
return 0;
}
```
这个程序首先定义了一个`ListNode`结构体表示链表中的每个节点,接着有`createList()`、`insert()`、`deleteElement()`和`printList()`函数分别用于创建空链表、插入元素、删除元素以及查看链表内容。
阅读全文