双向链表
来源:互联网 发布:bim软件nbims 编辑:程序博客网 时间:2024/05/02 02:08
#include<stdlib.h>
#include<stdio.h>
#include<malloc.h>
#define MAX 1002
typedef struct node
{
char data;
struct node *next;
struct node *prior;
}dlinklist;
/*
void create_dlink_h(dlinklist *l)
{
// dlinklist *p;
l->next=l;
l->prior=l;
}
*/
void create_dlink(dlinklist *l,int n)
{
dlinklist *p,*e;
l->next=NULL;
// l=(dlinklist *)malloc(sizeof(dlinklist));
for(int i=0;i<n;i++)
{
p=(dlinklist *)malloc(sizeof(dlinklist));
p->data=(char)i+97;
if(l->next==NULL)
{
l->next=p;
e=p;
}
else {
p->prior=e;
e->next=p;
e=p;
}
}
}
void insert_dlink(dlinklist *l,int j,char e)
{
dlinklist *p,*q;
if(j<0)
{
printf("position error/n");
exit(0);
}
int i=0;
p=(dlinklist *)malloc(sizeof(dlinklist));
p->data=e;
q=l;
while(q!=NULL && i<j)
{
i++;
q=q->next;
}
if(i==j)
{
if(q==NULL) l=q;
else
{
p->prior=q->prior;
// q->prior=p->prior;
q->prior->next=p;
q->prior=p;//p is new;
p->next=q;
}
}
else printf("end position error/n");
}
void delete_dlink(dlinklist *l,int j)
{
dlinklist *p,*q;
p=l;
int i=0;
if(j<0)
{
printf("j error/n");
exit(0);
}
while(p && i<j-1)
{
i++;
p=p->next;
}
if(i==j-1)
{
q=p->next;
p->next=q->next;
q->prior=p->prior;
}
}
void display(dlinklist *l)
{
dlinklist *p,*e;
p=l->next;
while(p!=NULL)
{
e=p;
printf("%c ",p->data);
p=p->next;
}
/* printf("/n");
// e=e->prior;
// printf("%c ",e->data);
while(e!=NULL)
{
printf("%c ",e->data);
e=e->prior;
}
*/
printf("/n");
}
int main()
{
dlinklist *l;
l=(dlinklist *)malloc(sizeof(dlinklist));
// create_dlink_h(l);
int n;
printf("input number:/n");
scanf("%d",&n);
create_dlink(l,n);
display(l);
insert_dlink(l,3,68);
delete_dlink(l,4);
display(l);
return 0;
}
- SzNOI 双向约瑟夫(双向链表)
- 双向链表&&堆栈
- 双向链表
- 使用双向链表
- 双向链表
- 双向循环链表
- 双向循环链表
- 双向链表
- 实现双向链表
- 双向循环链表
- 建立双向链表
- 双向链表
- 双向链表
- 双向循环链表
- 双向链表
- 链表-双向链表
- 双向链表
- 双向动态链表
- 1. 标准库string类型
- 爱的议题
- Ubuntu 10.04搭建Android开发环境
- 使用了与请求的协议不兼容的地址的解决办法。
- gdb使用手册
- 双向链表
- 水晶的功效
- 思路不缜密,错写一个词,带来很隐患的bug
- 无奈……
- 第一篇
- IE7 zoom属性相关的布局问题 以及 暴力调试
- 1992-2007年大学生数学建模CUMCM优秀论文全收入
- OK~终于实现循环链表及链表逆转。可以睡了。
- 心情1--2010.05.29