显示链表中所有字节号和数据项内容

翻译一下每一句话的意思 void printAllNode(NODE *head)

img

供参考:

img

【以下回答由 GPT 生成】

该问题是要求写一个函数来打印链表中所有节点的节点号和数据项内容。

首先,我们需要定义一个包含两个成员的结构体Node:一个整型数据项data和一个指向Node结构体的指针next。

然后,声明一个指向Node结构体的指针变量head,它指向链表的头节点。

接下来,我们需要实现一个名为printAllNode的函数,它接受一个指向Node结构体的指针head作为参数。

在函数中,我们声明一个指向Node结构体的指针变量p,将其初始化为head。同时,声明一个整型变量i来表示节点号,初始化为1。

然后我们使用一个循环,当p指针不为NULL时,执行以下操作:

  1. 使用printf函数打印节点号和数据项内容。可以使用格式化字符串"%05d%5d"来保证节点号始终占用5个字符宽度,数据项内容占用5个字符宽度。

  2. 将p指针指向下一个节点。

  3. 将节点号i加1。

循环结束后,所有节点的节点号和数据项内容都被打印出来。

以下是完整的代码实现:

#include <stdio.h>

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

void printAllNode(struct Node *head) {
    struct Node *p = head;
    int i = 1;
    while (p != NULL) {
        printf("%05d%5d\n", i, p->data);
        p = p->next;
        i++;
    }
}

你可以将要打印的链表的头节点传递给printAllNode函数来测试它的功能。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^