顺序表插入算法完整代码c语言
时间: 2024-10-04 09:02:53 浏览: 30
在C语言中,顺序表是一种基础的数据结构,其插入操作通常是将新元素添加到列表的末尾。以下是一个简单的顺序表插入算法的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义顺序表节点结构体
typedef struct Node {
int data; // 节点数据
struct Node* next; // 指向下一个节点的指针
} Node;
// 创建一个新的顺序表节点
Node* create_node(int value) {
Node* newNode = (Node*)malloc(sizeof(Node));
newNode->data = value;
newNode->next = NULL;
return newNode;
}
// 插入元素到顺序表的末尾
void insert_to_end(Node** head, int value) {
if (*head == NULL) { // 如果表为空,创建第一个节点
*head = create_node(value);
} else { // 否则遍历找到最后一个节点并插入
Node* temp = *head;
while (temp->next != NULL) {
temp = temp->next;
}
temp->next = create_node(value);
}
}
// 打印顺序表内容
void print_list(Node* head) {
Node* temp = head;
while (temp != NULL) {
printf("%d ", temp->data);
temp = temp->next;
}
printf("\n");
}
int main() {
Node* head = NULL;
int value;
printf("Enter numbers to insert, or '0' to stop:\n");
while ((value = getchar()) != '0') {
if (value >= '0' && value <= '9') {
insert_to_end(&head, value - '0'); // 转换字符到整数并插入
}
}
printf("Inserted list: ");
print_list(head);
return 0;
}
```
在这个例子中,我们首先定义了一个顺序表的节点结构,然后实现了创建节点、插入节点到末尾以及打印列表的功能。在`main`函数中,用户可以输入数字,程序会将其插入到列表中。
阅读全文