用c语言写顺序表中插入元素到顺序表中的代码
时间: 2024-12-15 11:28:14 浏览: 20
在C语言中,顺序表通常是一个数组结构,插入新元素的基本步骤包括计算新元素应插入的位置以及移动现有元素以便腾出空间。以下是一个简单的例子,假设我们有一个整数顺序表,并且我们想在列表末尾插入一个新元素:
```c
#include <stdio.h>
// 定义顺序表结构体
typedef struct {
int data;
struct Node* next;
} Node;
// 插入函数
void insertAtEnd(Node** head, int value) {
// 新建一个节点
Node* newNode = (Node*)malloc(sizeof(Node));
if (!newNode) { // 检查内存分配是否成功
printf("Memory allocation failed.\n");
return;
}
newNode->data = value;
newNode->next = NULL;
// 如果表为空,直接设置头指针
if (*head == NULL) {
*head = newNode;
return;
}
// 否则遍历到最后一个元素并插入
Node* current = *head;
while (current->next != NULL) {
current = current->next;
}
current->next = newNode;
}
// 测试代码
int main() {
Node* head = NULL;
insertAtEnd(&head, 5); // 插入5
insertAtEnd(&head, 10); // 插入10
// ... 更多插入操作
// 打印顺序表内容(实际应用中需要添加这部分)
Node* temp = head;
while (temp != NULL) {
printf("%d ", temp->data);
temp = temp->next;
}
printf("\n");
return 0;
}
```
在这个示例中,`insertAtEnd` 函数负责在序列表尾部插入元素。注意,在实际项目中,还需要考虑处理内存分配失败的情况以及其他边界条件。
阅读全文