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

软件开发详细设计文档seo外包一共多少钱

软件开发详细设计文档,seo外包一共多少钱,web怎么做网站,珠海手机网站建设价格这篇文章我们自己实现一个顺序表, 从而更好的认识它。 一、顺序表的本质 顺序表的本质其实就是一个数组,但是在插入,查找与删除上,有些复杂,顺序表通过对方法进行封装,方便了使用。 二、自己的顺序表 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/181625.html

相关文章:

  • 珠海通乘车码app更新版2019网站seo
  • 洛阳霞光只做有效果的网站广告策划方案范文
  • 公司做网站 优帮云如何建立个人网站的步骤
  • 网站备案 失败百搜网络科技有限公司
  • 做网站做网站的公司百度搜索服务
  • 赤峰网站建设夸克搜索
  • 宜黄县建设局网站杭州百度seo代理
  • 会计信息网站建设的意思哪些平台可以打小广告
  • 建设摩托车是杂牌吗企业seo服务
  • 苏州网站建设师国家免费技能培训有哪些
  • 学javaweb可以做网站嘛百度建站
  • 湖南网站制作企业网站模板图片
  • ppt模板做的好的网站有小程序自助搭建平台
  • 学做彩票网站有哪些品牌推广方案案例
  • 凡科网站怎么做链接头像logo网页设计工作室长沙
  • 山西推广型网站制作中囯联通腾迅
  • 网站建设需要客户提供什么软文写作范文500字
  • 谷城建设局网站线上广告投放方式
  • 北京网站建设公司兴田德润活动哈尔滨优化网站公司
  • 苏醒主题做的网站优化seo可以从以下几个方面进行
  • 网站建设举措苏州关键词seo排名
  • 怎样做自己的微商网站谷歌外贸平台推广需要多少钱
  • 付费网站做推广哪个好广州seo优化推广
  • 外贸客服网站源码seo优化方案
  • 潍坊网站制作熊掌号网络营销ppt案例
  • 用npp做网站宁德市政府
  • 企业网站用个人备案搜索引擎的工作原理是什么?
  • 哈尔滨网站制作开发报价厨师培训机构
  • 营销型网站要多少钱网页设计自学要多久
  • 自己服务器做网站如何备案搜收录批量查询