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

上海做网站公司有哪些广州网站营销seo

上海做网站公司有哪些,广州网站营销seo,工程建设标准化网站,做兼职的网站都有哪些工作这篇文章我们自己实现一个顺序表, 从而更好的认识它。 一、顺序表的本质 顺序表的本质其实就是一个数组,但是在插入,查找与删除上,有些复杂,顺序表通过对方法进行封装,方便了使用。 二、自己的顺序表 2.…

这篇文章我们自己实现一个顺序表, 从而更好的认识它。

一、顺序表的本质

顺序表本质其实就是一个数组,但是在插入,查找与删除上,有些复杂,顺序表通过对方法进行封装,方便了使用。



二、自己的顺序表

2.1 我们先来定义一个接口,用来规范好方法

在接口中定义好 增删改查 的方法,在顺序表类中继承好这个接口


2.2 定义好顺序表需要的变量

分别是需要操作的数组,在顺序表中有效的数据,顺序表的大小



三、实现各种方法

不全部介绍,演示几个比较严谨的方法

增加方法:

判满,扩容,判断插入位置是否合法


删除一个数据的方法:


其余较简单方法不演示了,都是利用数组和usedsize写的

import java.util.ArrayList;
import java.util.Arrays;public class MyArraylist implements Ilist{public int[] array;public int usedSize;//顺序表中有意义的位数public final int capacity = 10 ;//固定顺序表的大小public MyArraylist() {this.array = new int[capacity];}//判断数组是否满了public boolean isFull(){return this.usedSize == capacity;}//数组满了要扩容,复制原来的数组,把长度扩大二倍private void grow(){this.array = Arrays.copyOf(this.array,this.array.length*2);}//检查插入位置是否合法public void checkPos(int pos) throws PosIllegal{if(pos<0 || pos>usedSize){throw new PosIllegal("插入位置不合法");}}//判断数组是否为空public void checkEmpty(){if(isEmpty()){throw new ArrayEmptyException("顺序表为空!");}}public boolean isEmpty(){return usedSize == 0;}@Overridepublic void add(int data) {if (isFull()){this.grow();}this.array[this.usedSize] = data;usedSize++;}@Overridepublic void add(int pos,int data) {try {//位置判断是否合法checkPos(pos);//判断数组是否满了if (isFull()){this.grow();}//挪动元素for (int i = this.usedSize-1; i >=pos ; i--) {this.array[i+1] = this.array[i];}this.array[pos] = data;usedSize++;}catch (PosIllegal e){System.out.println("插入位置有问题。。。");e.printStackTrace();}}//查找数组是否包含toFind@Overridepublic boolean contains(int toFind) {for (int i = 0; i <usedSize ; i++) {if(array[i]==toFind){return true;}}return false;}//返回要找数据的下标@Overridepublic int indexOf(int toFind) {for (int i = 0; i <usedSize ; i++) {if(array[i]==toFind){return i;}}return -1;}public void checkPos2(int pos) throws PosIllegal{if(pos<0 || pos>=usedSize){throw new PosIllegal("插入位置不合法");}}@Override//获取指定位置的数值public int get(int pos) {try{checkEmpty();checkPos2(pos);return array[pos];}catch (PosIllegal e){e.printStackTrace();}catch (ArrayEmptyException e) {e.printStackTrace();}return -1;}@Override//更新某位置public void set(int pos,int value) {try{checkEmpty();checkPos2(pos);array[pos]=value;}catch (PosIllegal e){e.printStackTrace();}catch (ArrayEmptyException e) {e.printStackTrace();}}@Override//移除某个数据(不确定位置)public void remove(int toRemove) {try{checkEmpty();int pos = indexOf(toRemove);if(pos==-1){return;}for (int i = pos; pos< usedSize-1  ; i++) {//减1是为了最后一位不用变array[i]=array[i+1];usedSize--;}}catch (ArrayEmptyException e) {e.printStackTrace();}}@Overridepublic int size() {return this.usedSize;}@Override//清空顺序表的方法public void clear() {for (int i = 0; i <usedSize ; i++) {usedSize = 0;}}@Override//打印顺序表的方法public void display() {for (int i = 0; i <this.usedSize ; i++) {System.out.print(this.array[i]+" ");}}
}

接口代码:

public interface Ilist {// 在 pos 位置新增元素void add(int data);void add(int pos,int data);// 判定是否包含某个元素public boolean contains(int toFind);// 查找某个元素对应的位置public int indexOf(int toFind);// 获取 pos 位置的元素public int get(int pos);// 给 pos 位置的元素设为 valuepublic void set(int pos,int value);//删除第一次出现的关键字keypublic void remove(int toRemove);// 获取顺序表长度public int size();// 清空顺序表public void clear();// 打印顺序表,注意:该方法并不是顺序表中的方法,为了方便看测试结果给出的void display();}

http://www.dtcms.com/wzjs/321334.html

相关文章:

  • 中国公路建设协会网站全球搜怎么样
  • 临平做网站电话关键词排名点击工具
  • 金华建设技工学校网站身边的网络营销案例
  • 做网站的空间在哪买seo站内优化
  • opencart网站建设建网站seo
  • wordpress安装详细教程广州专门做seo的公司
  • 香港网站建设 深圳分公司百度推广排名怎么做的
  • wordpress前端是什么上海seo网站优化
  • 海南省官网seo引擎优化方案
  • 网站开发项目经理工资网上交易平台
  • 长沙做网站价格公司官网开发制作
  • html5效果网站2022年新闻摘抄十条
  • asp网站开发 知识武汉网站seo推广
  • 陕西今日最新疫情活动轨迹什么是seo和sem
  • 自己做一个网站多少钱网站设计的基本原则
  • 晓风彩票网站建设软件樱桃磁力bt天堂
  • 山东省政府办公厅杨翠彬seo引擎优化外包公司
  • 南京app建设seo研究中心道一老师
  • 让网站会员做产品标签确认成都网站关键词推广
  • 建筑工程网架seo关键词是怎么优化的
  • 沧州铂艺科技网络有限公司高级seo是什么职位
  • Iis wordpress无法发表文章合肥网站seo公司
  • glitch做网站兰州seo整站优化服务商
  • 深圳市信任网站人工智能的关键词
  • 微网站开发平台数字营销案例
  • 上海网站设计案例新闻 近期大事件
  • 怎么维护网站教程怎么建网站
  • wordpress功能模块衡水seo排名
  • 淘宝网站开发语言哈尔滨最新今日头条新闻
  • 网上开店流程seo三人行论坛