c语言 双向循环链表的简单应用
来源:互联网 发布:sql增删改查语句 编辑:程序博客网 时间:2024/06/09 20:54
#include <stdio.h>
#include <stdlib.h>
typedef struct link
{
struct link *before;
int data;
struct link *next;
}node,*pnode;
typedef struct real_link
{
int size;
struct link head;
pnode tail;
}list,*plist;
void initialize(plist mylist)
{
mylist->head.before=NULL;
mylist->head.next=NULL;
mylist->head.data=0;
mylist->tail=NULL;
mylist->size=0;
}
void creat(plist mylist1)
{
int i;
pnode tmp=&mylist1->head;
while(scanf("%d",&i))
{
pnode p1=(pnode)malloc(sizeof(node));
p1->data=i;
mylist1->size++;
p1->next=NULL;
tmp->next=p1;
p1->before=tmp;
tmp=tmp->next;
mylist1->tail=p1;
p1->next=mylist1->head.next;//链表尾和头相连
mylist1->head.next->before=p1;//实现循环
list dm;
initialize(&dm);
creat(&dm);
kill(&dm,23);
return EXIT_SUCCESS;
}
#include <stdlib.h>
typedef struct link
{
struct link *before;
int data;
struct link *next;
}node,*pnode;
typedef struct real_link
{
int size;
struct link head;
pnode tail;
}list,*plist;
void initialize(plist mylist)
{
mylist->head.before=NULL;
mylist->head.next=NULL;
mylist->head.data=0;
mylist->tail=NULL;
mylist->size=0;
}
void creat(plist mylist1)
{
int i;
pnode tmp=&mylist1->head;
while(scanf("%d",&i))
{
pnode p1=(pnode)malloc(sizeof(node));
p1->data=i;
mylist1->size++;
p1->next=NULL;
tmp->next=p1;
p1->before=tmp;
tmp=tmp->next;
mylist1->tail=p1;
p1->next=mylist1->head.next;//链表尾和头相连
mylist1->head.next->before=p1;//实现循环
}
printf("创建成功\n");
}
void kill(plist mylist,int i)
{
pnode tmp=NULL;
while(mylist->size!=1)
{
int count=0;
if(mylist->size==6)
{
tmp=mylist->head.next;
}
while(count<i)
{
tmp=tmp->next;
count++;
}
sleep(1);
printf("%d自杀成功\n",tmp->data);
pnode ptr1=tmp->before;
pnode ptr2=tmp->next;
free(tmp);
ptr1->next=ptr2;
ptr2->before=ptr1;
mylist->size--;
tmp=ptr2;
}
}
list dm;
initialize(&dm);
creat(&dm);
kill(&dm,23);
return EXIT_SUCCESS;
}
- c语言 双向循环链表的简单应用
- Linux下的C语言编程——双向循环链表的简单实现
- 双向循环链表 C语言通用编程的思考
- 双向循环链表的C语言实现
- c语言:双向循环链表的实现
- c语言实现的双向循环链表
- C语言实现双向循环链表
- C语言中的双向循环链表
- C语言实现双向循环链表
- C语言实现双向循环链表
- C语言实现双向循环链表
- C语言双向循环链表实现
- c语言写双向循环链表
- C语言实现双向循环链表
- c语言实现双向循环链表
- 简单易懂的C语言实现双向链表代码
- C语言单链表,双向链表,循环单链表,循环双链表的基本操作
- 双向循环链表的应用
- Twitter的照片滤镜功能可能已经上线,内部员工正在对IOS和Android平台应用程序上进行测试
- hoj1867经理的烦恼
- EL属性范围
- Struts 2 Data Journey
- Ubuntu下进行网络抓包
- c语言 双向循环链表的简单应用
- Linux设置环境变量
- 求N的N次的最高位
- Flex手机项目继承IconItemRenderer自定义List组件
- 机器人相关的资料
- 一步一步 mysql (一) 之 入手篇
- 程序员成熟的标志(转载)
- Mac OS X 10.8.2:用Homebrew搭配PHP开发环境。
- 带姓名的成绩单