博主上个学期学了数据结构(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的元素,返回其下标。找不到则返回-1if(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();}
}

java实现顺序表的增加,删除,查找,打印相关推荐

  1. 顺序表的插入删除查找遍历

    顺序表的插入删除查找遍历 文章目录 顺序表的插入删除查找遍历 代码 运行结果截图 代码 #define Maxsize 100typedef int ElemType; typedef struct{ ...

  2. 数据结构 ->顺序表的输入 输出 查找 删除 销毁 快速排序

    目录 「话不多说」上代码:定义 顺序表的「输入」 顺序表的「输出」 顺序表的「查找」 顺序表的「删除」 顺序表的「销毁」 顺序表的「快速排序」 顺序表,全名顺序储存结构,是线性表的一种. 顺序表储存数 ...

  3. 【数据结构】使用Java实现顺序表类 SeqList

    目录 线性表介绍 顺序表介绍 Java->顺序表API Java->顺序表代码 使用顺序表示例 线性表介绍 数据结构中的线性存储结构分为两大类:顺序存储和链式存储,顺序存储对应的是顺序表, ...

  4. Java 实现顺序表的基本操作

    顺序表 静态顺序表:使用定长数组存储. 动态顺序表:使用动态开辟的数组存储. 接口 package com.github.sqlist;public interface ISequence {// 在 ...

  5. 第3关:顺序表的按照序号查找值操作

    任务描述 本关任务:编写顺序表的按照序号i查找数据元素值的操作函数. 相关知识 顺序表L已存在,先判断i值是否合法,如果合法,将顺序表L中第i个数据元素的值赋给e,e要带出函数体,类型声明为引用. 编 ...

  6. 第4关:顺序表的按照值查找序号操作

    任务描述 本关任务:编写顺序表按照值查找序号操作的函数. 相关知识 在顺序表L找第一个值为e的元素,找到后返回其逻辑序号,否则返回0. 注意:由于线性表的逻辑序号从1开始,这里用0表示没有找到值为e的 ...

  7. 索引顺序表(分块)查找分析

    索引顺序表(分块)查找 一.分块查找表存储结构 1."分块有序"的线性表 2.索引表 二.分块查找的基本思想 三.分块查找示例 四.算法分析--平均查找长度ASL 索引顺序查找又称 ...

  8. Java如何使用dom4j获取,添加,删除,查找,设置Element节点呢?

    转自: Java如何使用dom4j获取,添加,删除,查找,设置Element节点呢? 下文笔者讲述DOM4J操作Element节点的示例分享,如下所示 获取文档的根节点 Element rootElm ...

  9. 动态顺序表的创建,增加,删除,查找

    先上代码,先上代码 #include<stdio.h> #include<stdlib.h> #define initsize 10 typedef struct {int* ...

  10. 实现一个顺序表的建立、查找、插入和删除操作【数据结构实验报告】

    文章目录 一.实验目的 二.算法说明 三.算法实现 四.测试效果 一.实验目的 1.熟悉将算法转换为程序代码的过程. 2.了解顺序表的逻辑结构特性,熟练掌握顺序表存储结构的c语言描述方法. 3.熟练掌 ...

最新文章

  1. DL之SqueezeNet:SqueezeNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  2. wxpython bind自定义_wxPython的 - 如何从自定义对话框WX
  3. java 工厂方法模式_Java中的工厂方法模式
  4. 工业交换机厂家,工业交换机品牌前十大排名
  5. js change事件 获取新值和旧值_前端总结(JS篇)
  6. 一文讲清,MySQL如何解决多事务并发问题
  7. Python(pycharm)在windows下路径 ( ' / ' 与' \ ' )的问题
  8. CentOS下搭建DNS服务器
  9. Spring3.0包描述
  10. UVA10719 Quotient Polynomial【多项式】
  11. 【ubuntu】出现device not managed连接不上网络
  12. 使用'SAPGUI_SET_PROPERTY'函数是GUI屏幕可见和不可见
  13. kuangbin新模板错误
  14. [HTML+CSS]电商网站模板
  15. 代码注释的艺术,优秀代码真的不需要注释吗?
  16. java 数字转英文_Java如何将数字转成英文
  17. 操作系统复习:12.缺页中断以及内存页面置换算法
  18. unity 弹痕_Unity C# 用图片融合做弹孔
  19. 微信小程序反编译获取源码
  20. 内网渗透----Windows下信息收集

热门文章

  1. find命令日常用法和文件名后缀
  2. 一、K3 Wise 实施指导《K3 Wise实施手册》
  3. linux下飞信安装详细过程
  4. Java帮助文档的生成
  5. javaweb前台对参数加密,后台解密,避免出现中文乱码
  6. Android --- GreenDao的实现(ORM框架)
  7. HUT-XXXX The window of the dazzling 模拟
  8. 【算法】排序_冒泡排序及其优化
  9. vuex单一状态树_Vuex中的State
  10. 数据结构与算法-浙江大学陈越数据结构第一章学习