C语言创建长度为20的循环链表
时间: 2024-04-12 11:28:10 浏览: 60
在C语言中,你可以使用结构体来创建循环链表。下面是一个示例代码,用于创建长度为20的循环链表:
```c
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node* next;
};
struct Node* createCircularLinkedList(int length) {
struct Node *head, *temp;
head = (struct Node*)malloc(sizeof(struct Node));
temp = head;
for (int i = 1; i <= length; i++) {
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->data = i;
temp->next = newNode;
temp = temp->next;
}
temp->next = head; // Make the last node point to the head, creating a circular link
return head;
}
int main() {
int length = 20;
struct Node* head = createCircularLinkedList(length);
// Printing the circular linked list
struct Node* temp = head->next;
printf("Circular Linked List: ");
while (temp != head) {
printf("%d ", temp->data);
temp = temp->next;
}
return 0;
}
```
这段代码中,我们首先定义了一个 `Node` 结构体,该结构体包含一个整数数据 `data` 和一个指向下一个节点的指针 `next`。
然后,我们编写了一个名为 `createCircularLinkedList` 的函数,该函数接受一个整数参数 `length`,表示链表的长度。在函数中,我们使用循环来创建指定长度的链表。每次迭代中,我们分配一个新的节点,并将其连接到链表的末尾。最后,我们将最后一个节点的 `next` 指针指向头节点,从而形成循环链表。
在 `main` 函数中,我们调用 `createCircularLinkedList` 函数来创建长度为20的循环链表,并打印链表中的元素。
希望这个示例能帮助到你!如果有任何疑问,请随时提问。
阅读全文