帮我用C写一个循环双链表的结构体,初始化,尾插法建立链表,并且可以可以在键盘输入值建立链表

动态 未结 0 76
小小草
小小草 LV1 2023年9月23日 23:40 发表
好的,以下是一个简单的循环双链表结构体及其初始化和尾插法建立链表的示例代码: ```c #include #include // 定义循环双链表节点结构体 typedef struct node { int data; struct node *prev; struct node *next; } Node; // 初始化循环双链表 void initList(Node **head) { *head = (Node *)malloc(sizeof(Node)); (*head)->data = 0; (*head)->prev = *head; (*head)->next = *head; } // 尾插法建立循环双链表 void createList(Node *head) { int n, i, value; printf("请输入要创建的链表长度:"); scanf("%d", &n); for (i = 0; i < n; i++) { printf("请输入第%d个节点的值:", i + 1); scanf("%d", &value); Node *newNode = (Node *)malloc(sizeof(Node)); newNode->data = value; newNode->prev = head->prev; newNode->next = head; head->prev->next = newNode; head->prev = newNode; } } int main() { Node *head; initList(&head); createList(head); return 0; } ``` 这段代码中,我们首先定义了一个循环双链表节点结构体 `Node`,包含了数据域 `data` 和两个指针域 `prev` 和 `next`,分别指向前驱节点和后继节点。 然后,我们定义了一个 `initList` 函数来初始化循环双链表。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复