顺序表实验基本操作代码
时间: 2024-10-07 20:07:42 浏览: 18
顺序表是一种简单的线性数据结构,它将元素存储在连续的内存空间中,支持常见的插入、删除和访问操作。这里是一个基础的顺序表(单链表)的基本操作的伪代码示例:
```c++
// 定义节点结构体
struct Node {
int data;
Node* next;
};
// 初始化空列表
Node* createList() {
return NULL;
}
// 插入元素到列表尾部
void insert(Node** head, int value) {
Node* newNode = (Node*)malloc(sizeof(Node));
newNode->data = value;
newNode->next = *head; // 新节点的next指向当前头结点
*head = newNode; // 更新头指针
}
// 删除指定值的元素
void deleteElement(Node** head, int value) {
if (*head == NULL) return; // 如果为空,直接返回
if ((*head)->data == value) { // 如果头节点就是要删除的
Node* temp = *head;
*head = (*head)->next;
free(temp); // 释放头节点
} else {
Node* current = *head;
while (current->next != NULL && current->next->data != value) {
current = current->next;
}
if (current->next != NULL) {
Node* temp = current->next;
current->next = current->next->next;
free(temp); // 释放被找到的节点
}
}
}
// 访问并打印第n个元素
void printElement(Node* head, int n) {
if (head == NULL || n < 1) return;
Node* current = head;
for (int i = 0; i < n - 1; i++) {
current = current->next;
}
printf("Element at position %d is %d\n", n, current->data);
}
//