C简单实现双向链表
2024-09-21 13:58:57
<pre name="code" class="cpp">//链表结构
typedef struct DulNode
{
DataType data; //数据
struct DulNode *prior; //指向前一个节点的指针
struct DulNode *next; //指向后一个节点的指针
}DulNode; //双向链表初始化
void InitList(DulNode **h)
{
(*h) = NULL;
} //尾插
void PushBack(DulNode *h,DataType x)
{
DulNode *p;
DulNode *q = h;
p = (DulNode*)malloc(sizeof(DulNode));
if(p == NULL)
{
printf("Memory is false");
return;
}
p->data = x;
q->next = p;
p->prior = q;
p->next = NULL;
q = p;
} //双向连表的插入
//void PushBack(DulLinkList h,int pos,DataType x)
//{
// DulLinkList p = h->next,q;
// int i = 0;
// while(p != h && i < pos-1)
// {
// p = p->next;
// i++;
// }
// if( p == h && i > pos - 1)
// {
// printf("插入位置不合法\n");
// return;
// }
// q = (DulLinkList)malloc(sizeof(DulNode));
// if(q == NULL)
// {
// printf("Memory is false");
// return;
// }
// q->data = x;
// q->prior = p->prior;
// p->prior->next = q;
// q->next = p;
// p->prior = q;
//} //打印
void Print()
{
DulNode *h;
DulNode *p;
InitList(&h); p = h->next;
while(p)
{
printf("%d->",p->data);
p = p->next;
}
printf("NULL");
}
最新文章
- Ubuntu 16.04 LTS 安装 Nginx/PHP 5.6/MySQL 5.7 (LNMP) 与Laravel
- How Garbage Collection Really Works
- 关于js事件委托
- Sql Server来龙去脉系列之二 框架和配置
- Struts2 自定义Result
- 【翻译】使用Knockout, Web API 和 ASP.Net Web Forms 进行简单数据绑定
- 《深度探索C++对象模型》3
- iOS中类方法的作用
- hdu 2035 人见人爱A^B
- <;转>;HTML中的table转为excel
- VC中动态添加控件
- Python中def的用法
- Julia语言:让高性能科学计算人人可用
- 二分查找(binary search)
- PHP+nginx 启动后访问超时
- Redis读超时排查
- jQuery的1.x版本的$(element).css()设置元素字体颜色时出现的问题(在IE8以下)
- 面向服务的体系架构(SOA)
- HOW TO REPLACE ALL OCCURRENCES OF A CHARACTER IN A STD::STRING
- .net开源项目整理