数据结构(第二天) 双向循环链表
2017-07-20 19:51
621 查看
#include<stdio.h> #include<stdlib.h> typedef struct node { int data; struct node* next; struct node* prev; }looplinklist; looplinklist*create_looplinklist() { looplinklist* head; head = (looplinklist*)malloc(sizeof(looplinklist)); head->next=head; head->prev=head; return head; } void insert_looplinklist(looplinklist*head,int data) { looplinklist* temp; temp=(looplinklist*)malloc(sizeof(looplinklist)); temp->data = data; temp->next = head->next; head->next->prev = temp; head->next = temp; temp->prev = head; } void insert_looplinklist_tail(looplinklist*head,int i) { looplinklist* p = head->next; looplinklist* temp; temp = (looplinklist*)malloc(sizeof(looplinklist)); temp->data=i; while(p->next != head) p = p->next; temp->next = p->next; temp->prev = p; p->next = temp; } void print_looplinklist(looplinklist*head) { looplinklist*p=head->next; while(p != head) { printf("%d ",p->data); p=p->next; } printf("\n"); } int main(int argc, const char *argv[]) { looplinklist* head; head = create_looplinklist(); int i; for(i=0;i<5;i++) { insert_looplinklist_tail(head,i); //insert_looplinklist(head,i); } print_looplinklist(head); return 0; }
相关文章推荐
- c语言_数据结构_双向循环链表
- 数据结构(三)---双向循环链表的实现---java版
- 数据结构——双向循环链表——2016_11_14
- 数据结构基础(12) --双向循环链表的设计与实现
- 数据结构基础(12) --双向循环链表的设计与实现
- 数据结构基础(12) --双向循环链表的设计与实现
- 数据结构之静态链表和双向循环链表
- 数据结构(18)双向循环链表
- 数据结构之双向循环链表
- 数据结构之双向循环链表
- 数据结构--双向循环链表实践
- 数据结构基础(12) --双向循环链表的设计与实现
- 实战数据结构(5)_双向循环链表的基本操作
- 数据结构--双向循环链表--插入和删除
- 数据结构课程设计_双向循环链表
- linux 内核常用数据结构及算法——list(循环双向链表)
- 数据结构之双向循环链表
- 数据结构基础(12) --双向循环链表的设计与实现
- 数据结构——树——二叉查找树转换成排序的循环双向链表
- 实战数据结构(5)_双向循环链表的基本操作