山东中医药大学数据结构第二章线性表
来源:互联网 发布:星际争霸2 知乎 编辑:程序博客网 时间:2024/04/27 22:46
2.1 线性表的逻辑结构
2.1.1线性表的定义
线性表(linear list) 简称表,是n(n≥0)个具有相同类型的数据元素的有限序列,线性表的数据元素的个数称为线性表的长度。
2.1.2线性表的抽象数据类型的定义
说明:(1)线性表的基本操作根据实际应用是而定;
2.2线性表的顺序存储结构的实现
2.2.1顺序表
线性表的顺序存储结构称为顺序表。
2.2.2顺序表的实现、
1.构造函数
顺序表的有参构造函数SeqList
4插入 Insert
2.3线性表的链接存储结构及实现
2.3.1单链表
1.遍历操作 PrintList
2.单链表按位查找操作
template <class T>
TLinkList<T>::Get(inti)
{
Node<T> *p; int j;
p=first->next; j=1; //或p=first; j=0;
while (p &&j<i)
{
p=p->next; //工作指针p后移
j++;
}
if (!p) throw "位置";
else returnp->data;
}
3.单链表按值查找算法
template <classDataType>
intLinkList<DataType>:: Locate(DataType x)
{
p =first->next; count = 1;
while (p != NULL)
{
if (p->data== x) return count; //查找成功,返回序号
p =p->next;
count++;
}
return 0; //退出循环表明查找失败
}
4.单链表的实现——插入
template <classDataType>
voidLinkList<DataType> :: Insert(inti,DataType x)
{
p = first ; count= 0; //工作指针p应指向头结点
while (p != NULL && count <i - 1) //查找第i – 1个结点
{
p =p->next;
count++;
}
if (p == NULL)throw "位置"; //没有找到第i – 1个结点
else {
s = newNode; s->data = x; //申请一个结点s
s->next =p->next; p->next = s; //结点s插入结点p之后
}
}
5.单链表的构造函数
6.无参构造函数
7.单链表删除算法
8.单链表析构函数算法
2.3.3循环链表
将单链表的首尾相接,将终端结点的指针域由空指针改为指向头结点,构成单循环链表,简称循环链表。
2.3.4双链表
双链表:在单链表的每个结点中再设置一个指向其前驱结点的指针域。
- 山东中医药大学数据结构第二章线性表
- 山东中医药大学数据结构第三章栈与队列
- 山东中医药大学《数据结构》实验1
- 浙江中医药大学-《数据结构》(C语言版)-第一章-第二章概念与代码
- 山东中医药大学2013级沈鹏计算机科学与技术《数据结构》课堂笔记
- 浙江中医药大学-线性表算法设计题
- 数据结构-----第二章 线性表
- 数据结构 第二章 线性表
- 数据结构 第二章 线性表
- 数据结构 第二章 线性表
- 数据结构 第二章 线性表
- 数据结构 第二章 线性表
- 数据结构 第二章 线性表
- 数据结构 第二章 线性表
- 数据结构第二章 线性表
- 数据结构 第二章 线性表
- 【数据结构】第二章 线性表
- 数据结构第二章--线性表
- 获取系统时间
- 应用程序中Broadcast Receiver的两种注册方法及比较
- ApiDemos – LoaderCursor介绍
- “一人一户”将成历史 券商迎三大利好
- 和为s的两个数字 VS 和为s的连续正数序列
- 山东中医药大学数据结构第二章线性表
- POJ 1741 Tree 树的点分治
- android-code-程序异常处理与记录log
- 中科燕园GIS外包--移动GIS
- 在iOS 8中创建交互式通知
- 连续字数组中的最大和 分治法VS动态规划
- Linux进程间通信——消息队列(二)
- Python Dict用法
- 回编出现“ Not a PNG file”错误..