怎么做
  1. 题面里的虚线方框就是要填的空
  2. 点候选项,它会填进当前高亮的那个空
  3. 点已填好的空,可以把选项取回来重选
  4. 全部填满后「提交」才会亮起
卡住了就点右下角的 👩‍🏫 问 AI 老师,她会给提示但不直接给答案。

二级 · 程序填空:尾插法建立链表

👁️ 26 人浏览 💬 0 人评论 ❤️ 添加收藏

函数 create 用尾插法把数组 a 的 n 个元素建成一条链表,返回头指针。程序输出 3 1 4。请在【】处填入正确的内容。

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

struct node {
    int data;
    struct node *next;
};

struct node *create(int a[], int n)
{
    struct node *head = NULL, *tail = NULL, *p;
    int i;
    for (i = 0; i < n; i++) {
        p = (struct node *)【0】(sizeof(struct node));
        p->data = a[i];
        p->next = NULL;
        if (head == NULL)
            head = p;
        else
            tail->【1】 = p;
        【2】 = p;
    }
    return head;
}

int main(void)
{
    int a[3] = {3, 1, 4};
    struct node *head, *p;
    head = create(a, 3);
    for (p = head; p != NULL; p = p->next)
        printf("%d ", p->data);
    printf("\n");
    while (head != NULL) {
        p = head;
        head = head->next;
        free(p);
    }
    return 0;
}
请登录后作答。
去登录
👩‍🏫
AI
💬 题目评论
🔒 登录并作答后可看讨论