- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA数据结构第二章节线性表A
;数据结构课程的内容;线性表;;(a1, a2, … ai-1,ai, ai+1 ,…, an)
;例1 分析26 个英文字母组成的英文表;a1;练:判断下列叙述的正误:;3、线性表的操作;BACK;进一步说明:
(1)线性表的基本操作根据实际应用而定;
(2)复杂的操作可以通过基本操作的组合来实现;
(3)对不同的应用,操作的接口可能不同。;2.2 线性表的顺序存储和实现;2.2.1顺序表的顺序存储表示;线性表顺序存储特点:;;一个一维数组M,下标的范围是0到9,每个数组元素用相邻的5个字节存储。存储器按字节编址,设存储数组元素M[0]的第一个字节的地址是98,则M[3]的第一个字节的地址是 ;2.2.2 顺序表的实现;2)顺序表的操作实现(即顺序表类的定义实现P37-40):;操作接口 public boolean add(int index, E element); //在第index个位置插入对象element
插入前:(a0, … , ai-1, ai, … , an-1)
插入后:(a0, … , ai-1, item , ai, … , an-1);;33;插入:在顺序表的第index个位置插入一个元素;JAVA具体实现:
public boolean add(int index, E element){
if (element==null) return false; //不能插入null
if (this.n==table.length){ //若数组满,则需要扩充顺序表容量
Object[] temp=this.table;
this.table=new Object[temp.length*2];
for (int i=0;itemp.length;i++)//复制数组元素
this.table[i]=temp[i];}
if (index0) index=0;//下标容错
if (indexthis.n) index=this.n;
for (int j=this.n-1;j=index;j--)//元素后移
this.table[j+1]=this.table[j];
this.table[index]=element;
this.n++;
return true;
};操作接口public E remove(int index x)
删除前:(a1, …, ai-1,ai,ai+1,…,an)
删除后:(a1,…,ai-1,ai+1, …,an) ;;例:(35, 33, 12, 24, 42),删除index=2的数据元素。;实现步骤:
获得index位置上要删除的元素值;
将位置为index 至this.n-1的元素向前移动一个位置;
表长减1。
注意:事先需要判断,删除位置index是否合法?应当有0≤indexthis.n;JAVA具体实现:
public E remove(int index){
if (this.n!=0 index=0 indexthis.n) {
E old=(E) this.table[index];
for (int j=index;jthis.n-1;j++)//元素前移
this.table[j]=this.table[j+1];
this.table[this.n-1]=null;
this.n--;
return old;
}
return null;
};按位查找实现;2.2.3顺序表的算法效率分析;讨论2:若在长度为n的线性表上删除第i位元素,向前移动元素的次数f(n)为: f(n) =;应用实例:
(上机练习题提示)设有线性表 LA=(3,5,8,11)和
LB=(2,6,8,9,11,15,20);
① 若LA和LB分别表示两个集合A和B,求新集合
A=A U B(‘并’操作,相同元素不保留);;本 节 小 结;
Thanks!待续!
您可能关注的文档
最近下载
- 修剪指甲教学课件.pptx VIP
- NB∕T 20006.4-2021 压水堆核电厂用合金钢 第4部分:反应堆压力容器接管嘴用锰-镍-钼钢锻件.pdf
- 《智慧仓储管理》课程标准.doc VIP
- 中国骨质疏松症及骨质疏松性骨折非药物干预防治指南(2025年版)PPT课件解读(2).docx VIP
- 13《少年中国说(节选)》 公开课一等奖创新教学设计.docx VIP
- 【行业研究报告】中国金融科技行业研究报告-2022年4月.pdf VIP
- 品种混杂退化原因PPT.ppt VIP
- 储罐内壁升降作业平台施工方案.doc VIP
- 【竞品分析文档】中国元宇宙产业竞品分析报告-2022年4月.pdf VIP
- 《智慧仓配运营(二)》课程标准.docx VIP
文档评论(0)