数据结构-线性表链式表示
来源:互联网 发布:51单片机pwm控制电机 编辑:程序博客网 时间:2024/04/30 06:32
声明:此为书中笔记,笔者只想把它贴出来,以后再慢慢整理。
2015-09-19
author:tianhangyu8886@gmail.com
Linklist Creatlist2(Linklist &L){
int x; //设置元素类型为整型
L=(Linklist)malloc(sizeof(LNode));
LNode *s,*r=L; //r为表尾指针
scanf("%d",&x); //输入结点的值
while(x!=9999){ //输入9999表示结束
s=(LNode*)malloc(sizeof(LNode)); //创建新建结点
s->data=x;
r->next=s;
r=s; //r指向新的表尾结点
scanf("%d",&x);
}
r->next=NULL; //尾结点指针置空
return L;
}
//按序号查找结点值
LNode *GetElem(Linklist L ,int i){
int j=1; //计算,初始化为1
LNode *p=L->next; //头结点指针域给p
if(i==0)
return L; //若等于0,则返回头结点
if(i<1)
return NULL; //若i无效,返回空
while(p&&j<i){ //从第一个结点开始查找第i个结点
p=p->next;
j++;
}
return p; //返回第i个结点的指针,如果i大于表长,p=NULL.
}
//{4}按值查找结点
LNode *LocateElem(Linklist L,ElemType e){ //本算法查找单链表L(带头结点)中数据域
//值等于e的结点指针,否则返回NULL
LNode *p=L->next;
while(p!=NULL&&p->data!=e) //从第1个结点开始查找data域为e的结点
p=p->next;
return p; //找到后返回该结点的指针
}
//{5}插入结点操作
//先检查插入位置的合法性,然后找到带插入位置的前驱结点,即第i-1个结点,再在其后插入新结点
p=GetElem(L,i-1);
s->next=p->next; //s的指针域指向p的后继结点
p->next=s; //再把p的指针域指向s
- 数据结构-线性表链式表示
- 数据结构---线性表链式实现
- 线性表链式表示(c语言版)
- 线性表链式表示和实现
- 线性表链式表示和实现
- 数据结构——线性表链式表示和实现(1)
- 数据结构——线性表链式表示和实现(2)
- 数据结构之线性表链式存储
- 【数据结构】线性表链式存储_LinkList
- 数据结构_线性表链式存储Node
- 数据结构 - 线性表链式存储结构
- 基础数据结构--线性表链式实现
- 数据结构笔记:线性表链式存储结构
- 数据结构——线性表链式存储
- 线性表链式存储结构的表示和实现
- 数据结构学习笔记(二)顺序表链式表示
- 学习笔记------数据结构(C语言版) 线性表链式存储
- 数据结构1——线性表链式存储 java
- 2015年9月14日--9月20日(30小时,剩3485小时)
- LeetCode 题解(213) : Peeking Iterator
- viewpager不显示
- CUDPP基本执行过程分析
- 当前项目中,linux下memcached的启动/结束的方式
- 数据结构-线性表链式表示
- LeetCode 题解(214) : Move Zeroes
- ASP.NET页面之间传递值的几种方式
- 理解贷出模式 Loan Pattern
- session的存储方式和配置
- try---catch--finally,finally是否一定执行?
- Android 动画——Layout Animations布局动画
- 121 Best Time to Buy and Sell Stock [Leetcode]
- 达内学习日志项目一:飞机大战(一)