java实现顺序表的增加,删除,查找,打印
来源:互联网 发布:数据有效性下拉日期 编辑:程序博客网 时间:2024/05/22 12:58
博主上个学期学了数据结构(C语言版),第一章就是顺序表。这个学期学的是java,同样可以实现之前的代码。这里把代码贴出来,方便以后学习,回顾。
文件名:App.java
/*编写类,实现如下功能: *1、创建有序顺序表 *2、包含如下基本操作:初始化、增加、删除、查找、打印元素 * 注意:初始化不同于用new 创建元素。 * *目的: * 1、理解成员变量、成员方法的含义 * 注意:相关方法的参数列表与C不同,顺序表成员的存取也与C不同 * 2、理解类=成员变量+成员方法,以及其使用方式。 **/import java.util.Scanner;class SortedList{//按升序排列的顺序表 final int MaxNum=100; //最大容量 int[] a=new int[MaxNum];//如果期望在构造对象时决定顺序表的容量,如何处理? int len; void init(){ len=0;} void add(int x){//将x插入顺序表的合适位置【参数列表与C不同】 if(len==MaxNum){ System.out.print("表已满,无法插入!"); return; } int i; for(i=len-1; i>=0&&a[i]>x; i--)//找合适位置,同时移出空位 a[i+1]=a[i]; a[i+1]=x; len++; } int findX(int x){//在顺序表中查找值为x的元素,返回其下标。找不到则返回-1 if(len==0)return -1; int mid,low,high; low=0;high=len-1; while(low<=high){ mid=(low+high)/2; if(x==a[mid])return mid; if(x<a[mid])high=mid-1; else low=mid+1; } return -1; } void deleteX(int x){//删除第一个值为x的元素 if(len==0) return; int pos,i; //注意:for(int i=...)其中i的作用域仅限于该for循环,出循环则无意义 pos=findX(x); if(pos==-1)return; for(i=pos+1; i<len; i++) a[i-1]=a[i];//找到合适位置 len--; } void showInfo(){ for(int i=0; i<len; i++) System.out.print(a[i]+" "); }}class App{ static SortedList creatList(){//输入一组数据,以-1结束,创建有序表 //这个方法代表着在外部使用SortedList类 SortedList sL=new SortedList(); Scanner sc=new Scanner(System.in); int x; x=sc.nextInt(); while(x!=-1){ sL.add(x); //注:由于创建的是有序表,不能将此句改成sL.a[i]=x; x=sc.nextInt(); } return sL; } public static void main (String[] args) { System.out.print("请输入一组数,-1结束:\n"); SortedList sL=creatList(); System.out.print("有序表数据为:\n"); sL.showInfo(); System.out.print("\n请输入要删除的数:"); Scanner sc=new Scanner(System.in); int x=sc.nextInt(); sL.deleteX(x); System.out.print("有序表数据为:\n"); sL.showInfo(); System.out.print("\n请输入要插入的数:"); x=sc.nextInt(); sL.add(x); System.out.print("有序表数据为:\n"); sL.showInfo(); }}
0 0
- java实现顺序表的增加,删除,查找,打印
- java实现单链表的增加,删除,查找,打印
- 顺序表的增加删除
- 顺序表的实现,插入,删除,定位,合并,打印
- 顺序表的查找删除
- 顺序表的添加、删除、查找功能的链式实现
- 顺序表的实现(包含插入,删除,及查找)
- C语言顺序表的插入、删除、查找操作实现
- 静态顺序表的实现创建、查找、删除
- C语言实现顺序表的初始化,插入,删除,查找
- 动态顺序表的实现,插入删除查找修改...
- 线性表的顺序存储格式基本操作:初始化、插入、删除、查找、打印
- java 增加 删除 查找 链表。
- dataset的增加,删除,,查找
- 单链表的创建,查找,删除,顺序打印,倒序打印(剑指offer)
- 顺序查找java实现
- 顺序查找-Java实现
- 顺序查找java实现
- USB(FS、HS、LS)
- 前端常见排序算法之冒泡算法
- 状态模式和策略模式的区别
- CSDN的开端
- Harris 角點
- java实现顺序表的增加,删除,查找,打印
- Linux 内核设备驱动之GPIO驱动之GPIO 控制器设备描述
- android 按home键回到桌面,然后再次进入app,app重新打开问题
- 定义定制Android动画,让你的APP更炫酷
- ubuntu16.04下NVIDIA GTX965M显卡驱动PPA安装
- python中sys.argv参数用法实例分析
- Android 下拉搜索提示框的实现
- 【OI练习】单词查找树
- Spring_mvc ioc/DI 控制反转与依赖注入