c语言单向循环链表打印结果
在C语言中,单向循环链表是一种线性数据结构,其中最后一个节点指向第一个节点,形成一个环。要打印这种链表,我们可以使用一个简单的循环,从链表的头部开始,一直打印到链表的尾部。
下面是一个简单的示例,展示了如何定义一个单向循环链表,并打印其内容:
c语言中struct
```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` 函数中,我们创建了一个空的链表,并添加了几个节点,然后打印整个链表的内容。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。