aiaiask.com©

开花即结果 提问即答案

单链表操作验证:C语言实现、结构存储与功能展示
原始问题:

单链表操作验证:C语言实现、结构存储与功能展示

实验代码如下:

#include <stdio.h>
#include <stdlib.h>

typedef struct Node {
    int data;
    struct Node *next;
} Node;

Node *createNode(int data) {
    Node *newNode = (Node *)malloc(sizeof(Node));
    newNode->data = data;
    newNode->next = NULL;
    return newNode;
}

void insertNode(Node **head, int data) {
    Node *newNode = createNode(data);
    newNode->next = *head;
    *head = newNode;
}

void deleteNode(Node **head, int data) {
    Node *temp = *head, *prev;
    if (temp != NULL && temp->data == data) {
        *head = temp->next;
        free(temp);
        return;
    }
    while (temp != NULL && temp->data != data) {
        prev = temp;
        temp = temp->next;
    }
    if (temp == NULL) return;
    prev->next = temp->next;
    free(temp);
}

void printList(Node *head) {
    Node *temp = head;
    while (temp != NULL) {
        printf("%d -> ", temp->data);
        temp = temp->next;
    }
    printf("NULL
");
}

int main() {
    Node *head = NULL;
    int choice, data;
    while (1) {
        printf("1. 创建链表
");
        printf("2. 插入节点
");
        printf("3. 删除节点
");
        printf("4. 打印链表
");
        printf("5. 退出
");
        printf("请输入您的选择:");
        scanf("%d", &choice);
        switch (choice) {
            case 1:
                printf("请输入要插入的数据:");
                scanf("%d", &data);
                insertNode(&head, data);
                break;
            case 2:
                printf("请输入要删除的数据:");
                scanf("%d", &data);
                deleteNode(&head, data);
                break;
            case 3:
                printList(head);
                break;
            case 4:
                printList(head);
                break;
            case 5:
                exit(0);
            default:
                printf("无效的选择,请重新输入。
");
        }
    }
    return 0;
}

这段代码实现了单链表的基本操作,包括创建链表、插入节点、删除节点和打印链表。通过一个菜单的形式展示和选择操作。

单链表操作验证:C语言实现、结构存储与功能展示
https://www.aiaiask.com/ask/64057.html
AI / 模型Siliconflow
时间 / DATENovember 29, 2023, 6:37 PM
语言zh-CN
IP / 区域天津市天津市