c语言单向循环链表打印结果

c语言单向循环链表打印结果


2024年4月30日发(作者:)

c语言单向循环链表打印结果

在C语言中,单向循环链表是一种线性数据结构,其中最后一个节点指向第

一个节点,形成一个环。要打印这种链表,我们可以使用一个简单的循环,

从链表的头部开始,一直打印到链表的尾部。

下面是一个简单的示例,展示了如何定义一个单向循环链表,并打印其内容:

```c

include <>

include <>

// 定义链表节点

struct Node {

int data;

struct Node next;

};

// 创建新节点

struct Node createNode(int data) {

struct Node newNode = (struct Node)malloc(sizeof(struct Node));

newNode->data = data;

newNode->next = NULL;

return newNode;

}

// 在链表末尾添加新节点

void appendNode(struct Node head, int data) {

struct Node newNode = createNode(data);

if (head == NULL) {

head = newNode;

return;

}

struct Node last = head;

while (last->next != NULL) {

last = last->next;

}

last->next = newNode;

newNode->next = head; // 形成循环链表

}

// 打印链表内容

void printList(struct Node head) {

struct Node current = head;

do {

printf("%d ", current->data);

current = current->next;

} while (current != head); // 当current不等于head时继续循环,形

成循环链表打印

printf("n");

}

int main() {

struct Node head = NULL; // 初始化链表为空

appendNode(&head, 1); // 添加节点1到链表末尾,形成循环链表1 ->

1

appendNode(&head, 2); // 添加节点2到链表末尾,形成循环链表1 ->

2 -> 1 -> 2 -> 1 ...

appendNode(&head, 3); // 添加节点3到链表末尾,形成循环链表1 ->

2 -> 3 -> 1 -> 2 -> 3 ...

printList(head); // 打印整个链表内容:1 2 3 1 2 3 ...

return 0;

}

```

在这个示例中,我们首先定义了一个单向循环链表节点结构 `Node`。然后

我们定义了几个函数来操作这个链表:`createNode` 用于创建新节点,

`appendNode` 用于在链表的末尾添加新节点,并确保形成一个循环链表。

`printList` 函数用于打印整个链表的内容。在 `main` 函数中,我们创建了

一个空的链表,并添加了几个节点,然后打印整个链表的内容。


发布者:admin,转转请注明出处:http://www.yc00.com/web/1714417025a2442384.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信