aiaiask.com©

开花即结果 提问即答案

深入剖析:如何有效提升团队协作效率的关键策略与方法
原始问题:

深入剖析:如何有效提升团队协作效率的关键策略与方法

这是一个C语言实现的单链表操作程序,包括创建、插入、删除、查找和显示链表内容等功能。程序采用标准C语言编写,对单链表操作前和操作后都会输出链表的内容。对要进行的操作有相应的提示信息。程序采用菜单的形式进行展示和选择,并写出每一步的作用。

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

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

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

void insert_node(Node **head, int data) {
    Node *new_node = create_node(data);
    new_node->next = *head;
    *head = new_node;
}

void delete_node(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);
}

Node *search_node(Node *head, int data) {
    Node *temp = head;
    while (temp != NULL) {
        if (temp->data == data) {
            return temp;
        }
        temp = temp->next;
    }
    return NULL;
}

void display_list(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("6. 退出
");
        printf("请输入您的选择:");
        scanf("%d", &choice);

        switch (choice) {
            case 1:
                printf("请输入节点数据:");
                scanf("%d", &data);
                insert_node(&head, data);
                break;
            case 2:
                printf("请输入要插入的节点数据:");
                scanf("%d", &data);
                insert_node(&head, data);
                break;
            case 3:
                printf("请输入要删除的节点数据:");
                scanf("%d", &data);
                delete_node(&head, data);
                break;
            case 4:
                printf("请输入要查找的节点数据:");
                scanf("%d", &data);
                Node *found_node = search_node(head, data);
                if (found_node != NULL) {
                    printf("找到节点,地址为:%p,值为:%d
", found_node, found_node->data);
                } else {
                    printf("未找到节点
");
                }
                break;
            case 5:
                display_list(head);
                break;
            case 6:
                exit(0);
            default:
                printf("无效的选择,请重新输入
");
        }
    }

    return 0;
}
深入剖析:如何有效提升团队协作效率的关键策略与方法
https://www.aiaiask.com/ask/64059.html
AI / 模型Siliconflow
时间 / DATENovember 29, 2023, 6:38 PM
语言zh-CN
IP / 区域天津市天津市