#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int data;
struct node *next;
struct node *prev;
}linkloop;
linkloop *creat_empty_linkloop()
{
linkloop *head;
head = (linkloop *)malloc(sizeof(linkloop));
head->next = head;
head->prev = head;
return head;
}
int insert_data_linkloop(linkloop *head,int data)
{
linkloop *temp;
temp = (linkloop *)malloc(sizeof(linkloop));
temp->data = data;
temp->next = head->next;
head->next->prev = temp;
head->next = temp;
temp->prev = head;
return 0;
}
int print_data_linkloop(linkloop *head)
{
linkloop *p = head -> next;
while(p != head)
{
printf("%d ",p->data);
p = p->next;
}
printf("\n");
}
int main(int argc, const char *argv[])
{
linkloop *head;
head = creat_empty_linkloop();
int i;
for(i = 1;i <= 5;i ++)
{
insert_data_linkloop(head,i);
}
print_data_linkloop(head);
return 0;
}
双向循环链表
最新推荐文章于 2022-06-01 23:43:26 发布