当前位置: 首页 > news >正文

做视频课程网站网站的分析与设计

做视频课程网站,网站的分析与设计,电商平台系统分销系统,博客网站模版【关于java线性表#xff08;顺序表#xff09;的基本操作】 线性表是什么#xff1f;#x1f435;#x1f412;#x1f98d;顺序表的定义#x1f9a7;#x1f436;#x1f435;创建顺序表新增元素,默认在数组最后新增在 pos 位置新增元素判定是否包含某个元素查找某个… 【关于java线性表顺序表的基本操作】 线性表是什么顺序表的定义创建顺序表新增元素,默认在数组最后新增在 pos 位置新增元素判定是否包含某个元素查找某个元素对应的位置获取 pos 位置的元素给 pos 位置的元素设为 value 更新删除第一次出现的关键字key获取顺序表长度清空顺序表打印顺序表 本文主要讲解关于顺序表的基本操作希望大家能够自己动手敲一敲 线性表是什么 线性表是一种数据结构是由零个或多个数据元素的有限序列组成的。每个元素除了第一个元素外都有一个直接前驱元素除了最后一个元素外都有一个直接后继元素。线性表的数据集合为{a1,a2,…,an}每个元素的类型均为DataType。线性表是存储逻辑关系为一对一的数据的最简单一种存储结构。线性表的物理结构不一定是连续的。 顺序表的定义 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构一般情况下采用数组存储。在数组 上完成数据的增删查改。 顺序表可动态增长的数组要求数据是连续存储的动态顺序表就是使用动态开辟的数组存储我会通过代码来给大家讲解 以下顺序表中的方法是需要掌握的 public interface IList2 {//新增元素,默认在数组最后新增public void add(int data);// 在 pos 位置新增元素public void add(int pos, int data);// 判定是否包含某个元素public boolean contains(int toFind) ;// 查找某个元素对应的位置public int indexOf(int toFind);// 获取 pos 位置的元素public int get(int pos);// 给 pos 位置的元素设为 value 更新public void set(int pos, int value);//删除第一次出现的关键字keypublic void remove(int toRemove) ;// 获取顺序表长度public int size();// 清空顺序表public void clear() ;// 打印顺序表public void display();boolean isFull();//数组是否满了public boolean isEmpty();//数组是否为空 }创建顺序表 public class MyArrayList {public int[] elem;public int usedSize; public static final int DEFAULT_SIZE10;public MyArrayList(){this.elem new int[DEFAULT_SIZE]; }public MyArrayList(int capacity){this.elem new int[capacity]; }首先我们创建一个顺序表看做一个数组有两个属性第一个elem为数组第二个为usedSize表示有效数据的个数。数组的长度我们通过构造方法来初始化第一种是创建一个数组长度为10用常量DEFAULT_SIZE表示的数组,第二种是通过传参数来自定义数组的长度。 新增元素,默认在数组最后新增 在敲代码以前我们需要考虑一个情况如果数组满了怎么才能添加元素所以我们在添加元素之前检查一下数组是否满了如果满了我们将进行扩容再添加元素。而检查数组我们定义一个方法以后用到直接调用即可。我们需要用到两个方法一个为检查是否满了一个方法来扩容。 public void add(int data) {checkCapacity(); //检查容量this.elem[this.usedSize] data;this.usedSize;}private void checkCapacity(){ if(isFull()){//扩容elem Arrays.copyOf(elem,elem.length*2);//将elem数组的长度扩容为原来的两倍}}public boolean isFull() {return usedSizeelem.length; //数组长度是否等于有效数据的长度}在 pos 位置新增元素 我们首先需要思考pos位置是否合法pos如果为-1或者超多数组长度则不再新增那么我们使用自定义异常来处理如果pos合法在检查数组的容量最后在新增元素新增元素时我们将从最后一个有效元素向后移动依次向前直到ipospos位置为空将elem[pos] 位置插入数据 public void add(int pos, int data) {try {checkPosOnAdd(pos);}catch (PosILLegality e){e.getStackTrace();return;}checkCapacity();for(int i usedSize-1;ipos;i--){elem[i1]elem[i];}elem[pos] data;usedSize;}private void checkPosOnAdd(int pos)throws PosILLegality{if(pos0posusedSize){System.out.println(不符合法);throw new PosILLegality(插入元素下标异常pos);}}public class PosILLegality extends RuntimeException{public PosILLegality(String msg){super(msg);} }判定是否包含某个元素 首先需要考虑如果数组为空没有元素则不查找直接返回false,其次遍历数组查看是否存在 public boolean contains(int toFind) {if(isEmpty()){return false;}for(int i 0;iusedSize;i){if(elem[i]toFind){return true;}}return false;}public boolean isEmpty() {return false; }查找某个元素对应的位置 首先判断数组是否为空然后在进行查找找到返回下标 public int indexOf(int toFind) {if(isEmpty()){return -1;}for(int i 0;iusedSize;i){if(elem[i]toFind){return i;}}return -1;} 获取 pos 位置的元素 首先判断pos位置是否合法与新增元素不同新增元素可以在数组最后新增查找元素只能在有效数据中查找范围有差异如果pos不合法直接抛出自定义异常其次判断数组是否为空最后在返回pos位置的元素。 public int get(int pos) throws MyArrayListEmpty{checkPosOnGetAndSet(pos);if(isEmpty()){throw new MyArrayListEmpty(获取指定下标元素时顺序表位空);}return elem[pos];}private void checkPosOnGetAndSet(int pos) throws PosILLegality {if (pos 0 || pos usedSize) {System.out.println(不符合法);throw new PosILLegality(获取制定下标的元素异常 pos);}}public class PosILLegality extends RuntimeException{public PosILLegality(String msg){super(msg);} } public class MyArrayListEmpty extends RuntimeException{public MyArrayListEmpty(String msg){super(msg);} }给 pos 位置的元素设为 value 更新 首先判断pos位置是否合法与新增元素不同新增元素可以在数组最后新增查找元素只能在有效数据中查找范围有差异如果pos不合法直接抛出自定义异常如果合法在进行修改元素 public void set(int pos, int value) {checkPosOnGetAndSet(pos);elem[pos]value;} private void checkPosOnGetAndSet(int pos) throws PosILLegality {if (pos 0 || pos usedSize) {System.out.println(不符合法);throw new PosILLegality(获取制定下标的元素异常 pos);}}public class PosILLegality extends RuntimeException{public PosILLegality(String msg){super(msg);} }删除第一次出现的关键字key 首先用java自带函数找到关键字的下标如果存在那么如何删除呢我们通过要删除的元素的后一个往前盖元素i范围小于usedSize-1如果等于usedSize-1elem[i-1]将会越界 public void remove(int toRemove) {int index indexOf(toRemove);if(index-1){System.out.println(没有这个数字);return;}for(int i index;iusedSize-1;i){elem[i]elem[i1];}usedSize--;} 获取顺序表长度 public int size() {return this.usedSize;}清空顺序表 public void clear() {this.usedSize0;}打印顺序表 public void display() {for(int i 0;ithis.usedSize;i){System.out.println(this.elem[i] );}System.out.println();}
http://www.hkea.cn/news/14548472/

相关文章:

  • 坪山网站建设效果那个网站卖做防水的烤枪
  • 百度站长论坛wordpress 函数快速
  • 公众号链接电影网站怎么做最新网页设计教程
  • 企业网站备案要关站吗中国制造网官网下载
  • 有做淘宝网站的网站布局内容
  • 怎样建设自己的网站的视频网站建设合作分成合同
  • 长沙征帆网站建设手机h5是什么意思
  • 可以做任务的网站不用登录的游戏
  • 河南网站建站系统哪家好有了域名 网站建设
  • wordpress跳转站点wordpress怎么置顶
  • 兰州新区规划建设管理局网站深圳宝安区有几个镇
  • 低价网站建设苏州网络推广seo服务
  • 网站开发用什么语言好网页设计与制作课程教学要求
  • 做网站需要准备的素材石家庄网络公司招聘信息
  • 怎么用大淘客做网站多媒体展厅的互动展示
  • 可以做软件的网站有哪些功能遂宁网站建设公司
  • 手游网站建设方案预算招聘网站开发模板
  • 网站备案关闭qq推广怎么做
  • 做视频网站需要多少上传建设物业公司网站
  • 大庆网能做网站吗wordpress本地后台密码修改
  • 武邑网站建设价格网上做任务网站有哪些
  • 饰品类网站建设定位网站建设外包合同
  • 怎么网站建设怎么样网站开发的意义
  • 公司网站维护是做什么的郑州网站优化培训机构
  • 用html做一号店网站怎么做wordpress hero theme
  • 做公众号主页面的有哪些网站网站开发阶段
  • 郑州网站排名服务官网站超链接怎么做
  • 个人做网站和百家号赚钱陕西建设网成绩查询
  • 用vue.js做网站的好处上海做什么工作最赚钱
  • 网站推广策划书模板二手车网站源码