[新大纲]3线性表-Copy论述.pptx

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二部分 数据结构 主讲教师:王永波 ybwang@cumt.edu.cn 中国矿业大学环境与测绘学院 2017年4月11日 提纲 概述 线性表 栈与队 树与二叉树 图 查找 排序 二、线性表 1、线性表的逻辑结构 4 元素1 元素2 元素3 2、定义 定义 n( ? 0)个数据元素的有限序列 存储结构 顺序表(向量),链表 特点 除第一个元素外,其他每一个元素有一个且仅有一个直接前驱。 除最后一个元素外,其他每一个元素有一个且仅有一个直接后继。 3、线性表的运算 基本运算 插入:在两个确定元素之间插入一个新元素 删除:删除线性表中某个元素 查找:按某种要求查找线性表中一个元素 排序:按给定要求对表中元素重新排序 4、顺序存储线性表 顺序存储结构/向量式存储结构 将线性表中的元素相继存放在 一个连续的存储空间中。 可利用一维数组描述存储结构 设:已知线性表中每个元素占l个单元,线性表内存首地址为:adr(a1)=b,则线性表中第i个元素的存储地址为 adr(ai)=adr(a1)+(i-1)l 4.1 顺序表类的定义 template class Type class CSeqList { //顺序表存储数组 Type *data; //最大允许长度 int MaxSize; //当前最后元素下标 int last; public: CSeqList ( int MaxSize = defaultSize ); ~CSeqList ( ) { delete [ ] data; } int Length ( ) const { return last+1; } // 查找 int Find ( Type x ) const; int Locate ( int i ) const; //定位 int Insert (int i, Type x); //插入 int Remove (int i); //删除 int Next ( Type x ) ; //后继 int Prior ( Type x ) ; //前驱 int IsEmpty ( ) { return last ==-1; } int IsFull ( ) { return last == MaxSize-1; } Type Get ( int i ) { //提取 return i 0 || i last?NULL : data[i]; } } 8 4.1 顺序表(SeqList)类的定义 class CSeqList { //顺序表存储数组 int *data; //最大允许长度 int MaxSize; //当前最后元素下标 int last; public: CSeqList ( int MaxSize = defaultSize ); ~CSeqList ( ) { delete [ ] data; } int Length ( ) const { return last+1; } // 查找 int Find (int x ) const; int Locate (int i ) const; //定位 int Insert (int i, int x); //插入 int Remove (int i); //删除 int Next (int x ) ; //后继 int Prior (int x ) ; //前驱 int IsEmpty ( ) { return last ==-1; } int IsFull ( ) { return last == MaxSize-1; } int Get ( int i ) { //提取 return i 0 || i last?NULL : data[i]; } } 9 4.2 顺序存储结构的插入、删除 插入 线性表的插入是指在第i(1?i ? n+1)个元素之前插入一个新的数据元素x,使长度为n的线性表变成长度为n+1的线性表 操作:将第i至第n共(n-i+1)个元素后移 a1 a2 … ai-1 … an ai x 4.

您可能关注的文档

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档