免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 5 页 共 5 页/线性表的抽象数据类型定义public interface ListIntfpublic int size(); /返回表长度public void clear(); /重置为空表public boolean isEmpty(); /若为空表返回true,否则返回falsepublic Object get(int i); /返回第i个数据元素(返回类型可不同)public int indexOf(Object obj); /第1个与obj满足关系equals()的数据元素位序,这样的数据元素不存在,则返回值为-1(obj的数据类型根据实际不同)public Object getPre(Object obj); /若obj是表中的元素,返回它的前驱public Object getNext(Object obj); /若obj是表中的元素,返回它的后继public void insertElementAt(Object obj,int i); /在第i个位置之前插入新的数据元素obj,表长度加1public Object remove(int i); /删除第i个数据元素,并返回其值,表长减1public Object remove(Object obj); /删除数据元素obj,并返回其值,表长减1public class SqList implements ListIntf public static final int MAXSIZE=100; /线性表最大长度Object elem=new ObjectMAXSIZE; /存放线性表元素的数组private int len=0; /线性表的长度,初值为0/取得表最大长度public int getMAXSIZE()return MAXSIZE;/* * 实现接口方法 */Override重置表为空表public void clear() len=0; /设置表长为0/Override返回第i个数据元素的值(返回类型可不同)public Object get(int i) if(len=0)return null; /表空,查找失败if(ilen)return null; /查找位置不合法,查找失败return elemi-1; /查找成功/Override若obj是表中的元素,返回它的后继public Object getNext(Object obj) int i=indexOf(obj);if(i=-1)return null; /指定元素不存在else if(i=len)return null; /指定元素位于最后一位,不存在后继元素return elemi; /查找后继成功,返回后继/Override若obj是表中的元素,返回它的前驱public Object getPre(Object obj) int i=indexOf(obj);if(i=-1)return null; /指定元素不存在else if(i=1)return null; /指定元素位于第一位,不存在前驱元素return elemi-2; /查找前驱成功,返回前驱 /Override第1个与obj满足关系equals()的数据元素的位序,若这样的数据元素不存在,则返回值为-1(obj的类型根据实际不同)public int indexOf(Object obj) for(int i=0;ilen;i+)if(elemi.equals(obj)return i+1; /查找成功,返回位序return -1; /查找失败/Override在第i个位置之前插入新的数据元素obj,表长度加1public void insertElementAt(Object obj, int i) if(len=MAXSIZE) /判断线性表的存储空间是否已满System.out.println(-溢出-);return;else if(ilen+1)System.out.println(-插入位置非法-);return; /插入位置非法for(int j=len-1;j=i-1;j-)elemj+1=elemj;elemi-1=obj; /插入元素len+; /表长加1return;/Override若为空表,则返回true,否则返回falsepublic boolean isEmpty() if(len=0)return true; /表空,返回truereturn false; /表非空,返回false/Override删除第i个数据元素,并返回其值,表长度减1public Object remove(int i) Object obj;if(ilen)System.out.println(-删除位置非法-);return null;obj=elemi-1; /被删除的值for(int j=i-1;j表中元素);for(int i=0;ilen;i+)System.out.println(elemi.toString();import java.util.*;public class SqListTest /* * param args */public static void main(String args) System.out.println(=Begin=);System.out.println(-构造顺序表-);Object obj;int n;Scanner input=new Scanner(System.in);SqList sl=new SqList();System.out.println(表长:+sl.size();/构造5个元素的顺序表for(int i=0;i5;i+)System.out.print(输入元素:);obj=input.next();sl.insertElementAt(obj, sl.size()+1);System.out.println(表长:+sl.size();sl.printList();System.out.println(-增加元素-);System.out.print(元素:);obj=input.next();System.out.print(位置:);n=Integer.parseInt(input.next();sl.insertElementAt(obj, n);System.out.println(表长:+sl.size();sl.printList();System.out.println(-查找元素-);System.out.print(元素:);obj=input.next();n=sl.indexOf(obj);if(n!=-1)System.out.println(.元素+obj+位于第+n+位.);System.out.print(位置:);n=Integer.parseInt(input.next();obj=sl.get(n);if(obj!=null)System.out.println(.第+n+位元素为+obj+.);System.out.println(-删除元素-);System.out.print(位置:);n=Integer.parseInt(input.next();obj=sl.remove(n);if(obj!=null)System.out.println(.删除的元素为+obj+.);System.out.println(表长:+sl.size();sl.printList();System.out.print(元素:);obj=input.next()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西南大学网络网络教育《分析化学》几道典型计算题(含有解析)
- 2026特种设备新规下双梯液压平台合规性改造与市场准入壁垒研报
- 2026年度初三年级心理辅导教师工作汇报课件:静待花开做幸福的班主任
- 《智能客户服务与管理(微课版)》-第6章智能客户满意度管理
- 2026极端气候环境下玻璃固定夹耐候性失效机理研究报告
- 《K线七十二变》课件
- 2026吉林机关事业单位工人技术等级考试(木工·中级)历年参考题库含答案详解
- 2026卫生高级职称面审答辩(整形外科)历年参考题库含答案详解
- 2026医技类-卫生检验技术(士)109历年题库含答案详解
- 《公共关系实务》课件
- 湖北省孝感市一中2026-2027年高三上九月月考英语试卷(含解析无听力音频含听力原文)
- 小学三年级综合实践活动《多彩的叶子》教学设计
- 宁夏南华山国家级自然保护区管理处招聘管护人员的笔试参考题库及答案详解
- 医学课件-胰腺癌研究及诊疗新进展
- 2026年苏州轨道交通有限公司人员招聘笔试备考题库及答案详解
- 2026年建筑施工企业安管人员继续教育试题(含答案)
- 2025年通信工程师中级传输与接入(无线)真题及答案解析
- ISOTS 68182024 中药艾条质量试验方法废颗粒浓度标准立项发展报告
- 初中地理七年级城镇与乡村(第2课时):变迁·守望·振兴-跨学科主题学习教案
- 砂石料场土地复垦方案报告书
- 2026招商局集团岗位招聘6人易考易错模拟试题(共500题)试卷后附参考答案
评论
0/150
提交评论