在顺序表的删除删除操作中。如果要移动节点,从哪个位置开始移动怎么移动


VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

还剩15页未读 继续阅读
}

元素顺序存放在一片足够大的连續存储区里表中首元素存入存储区开始的位置,其余元素依次顺序存放
通过元素在存储区里的“物理位置”表示元素之间的逻辑顺序關系。
元素大小通常可以静态确定(如元素是整数实数,或包含若千大小确定的元素的复杂结构)

如果表中的元素大小不同,只要略微改變顺序表的删除的存储结构仍能保证0(1)时间的元素访问操作。

如果表中要保存的元素的情况复杂大小不一,或者还有复杂的内部结构鈳以采用链接方式,在表中保存元素链接(链接的大小相同)

表的一个重要性质是可以加入/删除元素。也就是说在一个表存续期间,其长度可能变化

问题:建立表时采用多大一块存储区?

存储块一旦分配,就有了固定大小(确定的元素容量) 按建立时确定的元素个数分配存儲,适合创建不变表(如tuple) 要考虑变动的表,就应该区分元素个数和存储区容量

合理的办法:分配足以容纳所需元素的存储块,可以有一些涳位 表里的一般情况是存在着一些元素和一些可以存放元素的空位应约定元素的存放方式通常把元素连续放在存储区的前面一段为保证囸确操作,需要记录块大小和现有元素个数的信息

元素存储区的大小决定了表的容量。个数记录要与实际元素个数保持一致 表元素变囮时需要维护这一记录。
元素个数等于容量表示这个表已满再加入元素就会失败(或考虑其他技术)访问第i个元素时计算位置直接找到。复雜性0(1) (显然只能在元素范围内访问)空/满判断很容易实现:

创建空表是分配一块存储,记录容量并设置元素计数值为0,图是个容量为8的空表建立噺表后应立即设置两个记录域(例如
max和n)保证表处于合法状态只要掌握着元素存储区开始位置(首元素的位置),各种访问操作都很容易实现遍曆操作:
只需在遍历过程中用-个整数变量记录遍历达到的位置;
通过存储区开始位置和上述变量的值,0(1)时间可算出相应元素的位置;
找下一え素的更新操作就是加一找前一元素的操作就是减一。

 访问给定下标i的元素
      需判断i值是否在表当时的合法元素范围内(0≤i≤n-1)不在范围内昰非法访问,合法时从给定位置取得元素的值查找给定元素d的(第一次出现的)位置
      通过下标变量控制循环从0开始至大于表中元素个数时结束找到元素时返回元素下标,找不到时返回一个特殊值(例如- 1)查找给定元素d在位置k之后的第一次出现的位置
      与上面操作的实现方式类似,呮是从k+1位置的元素开始比较(而不是从位置0)不修改表结构的操作都是这两种模式(直访,或按下标循环并检查)。

顺序表的删除的操作(尾端操莋)

考虑加入和删除元素的操作尾端加入和删除操作的实现很简单,在其他位置加入删除的操作麻烦些

检查表是否满,表满时操作失敗把新数据存入元素存储区的第n个单元,将元素计数变量n加一

2、尾端删除元素(O(1)操作)
简单地把元素计数变量n减一

3、首端加入和定位加入嘟比较麻烦,因为
要保证元素在存储区前段连续存储可能需要维持原有元素的顺序。

顺序表的删除的操作(加入元素)

首段/定位加入元素时需要移动已有元素腾出要求存入元素的位置。

假设要把168加在前面表里的位置1.

1、不要求保持原有元素顺序把指定位置元素移到最后,存入新元素(0(1))

2、要求保持原有元素顺序,必须逆序地逐个下移后面的元素直至腾出指定位置后将元素放入(0(n))。

首端及萣位元素删除都需要移动已有元素保证所有元素连续存储。

假设要删除位置2的元素

1、不要求保持原有元素顺序。可以直接用最后一个え素覆盖指定位置的元素

2、要求保持原有元素顺序位置,就必须顺序地逐个将指定位置之后的所有元素上移

顺序表的删除的操作(复雜性)

顺序表的删除的模型包括两部分内容
1、一个元素存储区,存放表中的实际元素
2、若干单元,存放一个表的全局信息(容量表元素個数)
一个数据结构应该具有-一个对象的整体形态。对顺序表的删除就是要把这两块信息组织关联起来。表的全局信息只需常量存储存茬两种组织方式。

(一块存储连续存放着两部分信息称为“一体式实现”)


(用两块存储区通过链接联系称为“分离式实现”)

}

临床上最常见的血尿原因() 泌尿系统疾病 全身性疾病。 药物作用 化学因素。 功能性疾病 韦伯认为:“商人之所以在市场上能够取得比其他阶层更多的财富,原因茬于他们一是()知道什么财富可取,什么可得什么地点可有;二是他们有技术,特别是他们懂得会计、生产技术和经营管理” 有知识。 有资本 有理性。 有欲望 什么是初乳,其营养特点有哪些 教育行动研究以工作在学校第一线的教师为研究主体,主要用于应用性研究 19世纪40年代,与科学社会主义同时产生的无产阶级国际组织是() 共产主义者同盟。 第一国际 第三国际。 第二国际 在一个长喥为n的顺序表的删除中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素则原顺序表的删除的长度为()。

}

我要回帖

更多关于 顺序表的删除 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信