免费预览已结束,剩余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福建福州市鼓楼区安泰街道公共管理办招聘1人备考题库附答案详解(模拟题)
- 2026山东省公共卫生临床中心招聘中初级专业技术人员18人备考题库及答案详解(名师系列)
- 2026安徽铜陵市安徽工业职业技术学院人才引进9人(第二批)备考题库附答案详解(巩固)
- 2026四川泸州市政府投资建设工程管理第一中心招聘编外人员1人备考题库有答案详解
- 2026新疆生产建设兵团第十三师中医院高层次人才引进5人备考题库(第一批次)含答案详解
- 2026西安市雁塔区文化和旅游体育局就业见习人员招聘备考题库(10人)及一套参考答案详解
- 2026湖南怀化市鹤城区公开招聘事业单位工作人员39人备考题库附答案详解(满分必刷)
- 2026安徽宣城绩溪县产业投资有限公司第二次招聘4人备考题库附答案详解(达标题)
- 2026山东杰出人才发展集团招聘资料员、工程管理人员2人备考题库附答案详解(培优a卷)
- 2026上海财经大学浙江学院招聘高层次人才10人备考题库及答案详解(基础+提升)
- DBJ∕T15-231-2021 城市轨道交通既有结构保护监测技术标准
- GB/T 37364.4-2024陆生野生动物及其栖息地调查技术规程第4部分:鸟类
- 供电防雷电培训课件
- HGT 6258-2023 塑料 热塑性聚酰亚胺(PI)树脂 (正式版)
- 《离心泵知识培训》课件
- 纺织机电一体化-络筒机
- 塑胶颗粒施工方案
- 2022年湖南高考数学真题详细解析
- 2023届高考英语复习3500词之派生词总结讲义素材
- 龙章褒宠坊与“三事大夫”曾璋
- 阿甘正传全部台词中英对照
评论
0/150
提交评论