数据结构-基于C++语言(微课版) 课件 2-3 顺序表删除算法分析_第1页
数据结构-基于C++语言(微课版) 课件 2-3 顺序表删除算法分析_第2页
数据结构-基于C++语言(微课版) 课件 2-3 顺序表删除算法分析_第3页
数据结构-基于C++语言(微课版) 课件 2-3 顺序表删除算法分析_第4页
数据结构-基于C++语言(微课版) 课件 2-3 顺序表删除算法分析_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

插入操作目的插入算法原理本节目录:本节内容:顺序表插入算法分析顺序表物理结构及算法实现voidInitSeqList(SeqList&list){

list.last=-1;

}顺序表物理结构及算法实现顺序表初始化

01…i-1i…n-1n…MAXSIZE-1实际操作结果就是构造出如下空的顺序表listlist.datalist.last=-1插入运算:在顺序表的第i

个位置上插入元素key。运算基本过程实现主要步骤:向后移动数据元素(i~last),插入元素,表长加1。17…34key1150…56...0…i-1ii+1i+2…last…MAXSIZE-117…341150…56…0…i-1ii+1…lastlast+1…MAXSIZE-1后移顺序表物理结构及算法实现移动前移动后?在第

i

个位置上插入元素,i的有效位置的约束1712…3411…56…01…i-1i…99100…MAXSIZE-1datalast=99哪个任务是可以实现的?1、在顺序表的第20个位置插入元素882、在顺序表的第120个位置插入元素88任务插入的合法位置:

0≤i≤last+1插入时各个位置有何特点?0号位置移动元素最多,last+1不需要移动元素。顺序表物理结构及算法实现?插入位置i(0~last+1)合法,是否就能完成插入运算呐?1712…3411…5618…4501…i-1i…99100…MAXSIZE-1datalast=991712…3411…56…01…i-1i…99100…MAXSIZE-1datalast=99表满不能进行插入操作:last=MAXSIZE-1。顺序表物理结构及算法实现last=991712…60表满,不能进行插入操作。last=MAXSIZE-117…34…插入位置越界时,不能进行插入操作。i<0或i>last+11712…3411…56…可以进行插入操作,批量元素后移。

顺序表物理结构及算法实现综合分析下,顺序表插入运算主要有以下三种情况。顺序表物理结构及算法实现小结:本节内容:顺序表插入算法分析插入算法基本原理插入位置的判断数据的批量移动算法代码实现算法时间复杂度本节目录:本节内容:顺序表插入算法实现顺序表物理结构及算法实现插入运算:在第

i个(0≤i≤last+1)个位置上插入key的元素)int

InsertSeqList(SeqList

&list,int

i

,int

key){

int

k;

if(list.last

==MAXLEN-1)/*表空间已满,不能插入*/

return0;

if(i

<0||i

>list.last+1)/*检查插入位置的合法性*/

return0;

/*将位置i~ast上的元素向后移动*/

for(k=list.last;k>=i;k--)

list.data[k+1]=list.data[k];

list.data[i-1]=key;/*新元素插入*/

list.last++;/*last仍指向最后元素*/

return1;}顺序表物理结构及算法实现删除操作目的删除算法原理本节目录:本节内容:顺序表删除算法分析顺序表物理结构及算法实现顺序表物理结构及算法实现删除运算:在顺序表第

i

个位置上删除一个元素。运算基本过程实现步骤:向前移动数据元素,表长减1。17…341150…56…0…i-1ii+1…lastlast+1…MAXSIZE-117…3450…56...0…i-1ii+1last…MAXSIZE-1左移注意:移动的元素的序号范围:i~last线性表物理结构及实现?在第

i

个位置上删除元素,i的有效位置的约束?1712…3411…56…01…i-1i…6061…MAXSIZE-1datalast=99哪个任务是可以实现的?1、在顺序表的第20个位置删除元素2、在顺序表的第120个位置删除元素任务1、删除的合法位置:

0~last插入时各个位置有何特点?2、0号位置移动元素最多,last位置不需要移动元素。线性表物理结构及实现删除的位置i(0~last)合法,是否就能完成删除运算呐?01…i-1i…6061…MAXSIZE-1data表空时,不能进行删除操作。表空判断条件last=-1。1712…3411…56…01…i-1i…6061…MAXSIZE-1datalast=99线性表物理结构及实现last=99…表空,不能进行删除运算。last=-117…34…删除位置越界时,不能进行删除运算。i<0或i>last1712…3411…56…可以进行删除运算,批量元素前移。

综合分析下,顺序表删除运算主要有以下三种情况。顺序表物理结构及算法实现小结:本节内容:顺序表删除算法分析删除算法基本原理删除位置的判断数据的批量移动算法代码实现算法时间复杂度本节目录:本节内容:顺序表删除算法实现顺序表物理结构及算法实现顺序表结构及实现删除运算:在第i(0≤i≤last+1)个位置上插入key的元素)int

DeleteSeqList(SeqList

&list,int

i){

int

k;

if(list.last

==-1)/*表空,不能删除*/

return0;

if(i

<0||i

>list.last)/*检查删除位置的合法性*/

return0;

/*将位置i~last上的元素向后移动*/

for(k=i+1;k<=list.last;k++)

list.data[k-1]=list.data[k];

list.last--;/*last仍指向最后元素*/

return1;}1n-22n-3……n-10删除位置移动次数顺序表结构及实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论