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

网站的优点和缺点平台网站建设可行报告

网站的优点和缺点,平台网站建设可行报告,网页制作教程教程,网站怎么做更好推广线性表的顺序表示指的是用一组地址连续的存储单元以此存储线性表的数据元素#xff0c;这种表示也称作线性表的顺序存储结构或顺序映像。通常#xff0c;称这种存储结构的线性表为顺序表。特点是#xff1a;逻辑上相邻的数据元素#xff0c;其物理次序上也是相邻的。顺序表…线性表的顺序表示指的是用一组地址连续的存储单元以此存储线性表的数据元素这种表示也称作线性表的顺序存储结构或顺序映像。通常称这种存储结构的线性表为顺序表。特点是逻辑上相邻的数据元素其物理次序上也是相邻的。顺序表的存储示意图假设线性表的每个元素与占用l个存储单元并以所占的第一个单元的存储地址作为数据元素的存储起始位置。则线性表中地i1个数据元素的存储位置LOC(a i1)和第i个数据元素的存储位置LOC(a i)之间有如下关系通常的线性表的地i个数据元素ai的存储位置为每一个数据元素的存储位置都和线性表中的起始位置相差一个常数这个常熟和数据元素在线性表中的位序成正比。所以只要确定了存储线性表的起始位置线性表中任意数据元素都可以随机存取。所以线性表的顺序存储结构是一种随机存取的存储结构。实现顺序表(java)首先建立一个List接口用来定义顺序表的一些操作package 线性表的顺序结构;public interface List {//返回顺序表的大小public int size();//判断线性表中是否为空public boolean isEmpty();//向线性表中插入数据元素public boolean insert(int index, Object obj) throws Exception;//删除线性表中指定元素public boolean delete(int index) throws Exception;//获取线性表的指定元素public Object getElem(int index);//判断数据元素是否在链表中public int searchList(Object obj);//销毁线性表public void destroyList();//将线性表置为空表public void clearList();//返回线性表中第一个值与obj相同的元素在线性表中的位置public Object locateElem(Object obj);}实现顺序表的操作方法package 线性表的顺序结构;public class SqList implements List {//默认的顺序表的最大长度final int DefaultSizs 10;//顺序表的长度最大值int MaxSize;//顺序表的当前长度int size;//用于存储顺序表的数据元素Object[] listArray;public SqList() {this.init(this.DefaultSizs);}public SqList(int size) {this.init(size);}/*** 初始化顺序表* param size*/public void init(int size) {this.MaxSize size;this.size 0;this.listArray new Object[size];}Override/*** 获得顺序表的长度*/public int size() {// TODO Auto-generated method stubreturn size;}Override/*** 判断顺便表是否为空*/public boolean isEmpty() {// TODO Auto-generated method stubreturn size 0;}Override/*** 在指定位置插入数据元素到顺序表*/public boolean insert(int index, Object obj) throws Exception {// TODO Auto-generated method stubif(index 1 || index size 1) return false;if(size MaxSize) return false;for(int j size - 1; j index; j--) {this.listArray[j 1] this.listArray[j];}this.listArray[index - 1] obj;size;return true;}Override/*** 删除顺序表中指定位置的数据元素*/public boolean delete(int index) throws Exception {// TODO Auto-generated method stubif(index 1 || index size) return false;for(int j index; j size - 1; j) {this.listArray[j - 1] this.listArray[j];}--size;return true;}Override/*** 获得指定数据元素*/public Object getElem(int index) {// TODO Auto-generated method stubif(index 1 || index size) return null;return this.listArray[index - 1];}Override/*** 查找数据元素是否在顺序表中* 若在表中返回该数据元素在顺序表的序号*/public int searchList(Object obj) {// TODO Auto-generated method stubfor(int j 0; j size; j) {if(this.listArray[j] obj) return j 1;}return 0;}public static void main(String[] args) {SqList list new SqList(2);try {list.insert(1, 100);list.insert(2, 50);list.insert(3, 20);list.insert(4, 90);for (int i 1; i list.size; i) {System.out.println(第 i 个数为 list.getElem(i));}} catch (Exception e) {e.printStackTrace();}}Override/*** 销毁顺序表*/public void destroyList() {// TODO Auto-generated method stubthis.listArray null;this.size 0;}Override/*** 清空顺序表*/public void clearList() {// TODO Auto-generated method stubif(this.listArray ! null this.listArray.length ! 0) {this.listArray new Object[this.MaxSize];}}Overridepublic Object locateElem(Object obj) {// TODO Auto-generated method stubfor(int j 0; j size; j) {if(this.listArray[j] obj) return j 1;}return null;}}但是在上面的代码中我们和容易的看到一个缺点那就是存放数据元素的数组是定长的即上面实现的顺序表是静态顺序表。那么当数据量很大的时候我们需要进行扩容否则无法存储下所有数据。修改SqList类增加一个判断是否需要扩容的方法//进行扩容public void seqListDempty() {if(size MaxSize) {MaxSize * 2;Object[] newArr new Object[MaxSize];for (int i 0; i size; i) {newArr[i] this.listArray[i];}this.listArray newArr;}}同时修改insert()方法Override/*** 在指定位置插入数据元素到顺序表*/public boolean insert(int index, Object obj) throws Exception {// TODO Auto-generated method stubif(index 1 || index size 1) return false;if(size MaxSize) seqListDempty();for(int j size - 1; j index; j--) {this.listArray[j 1] this.listArray[j];}this.listArray[index - 1] obj;size;return true;}这样我们就实现了动态顺序表。
http://www.sadfv.cn/news/319533/

相关文章:

  • 网站pv uv是什么意思福建省建设工程造价站官方网站
  • 上网站 ftp国内有奖活动第一分享平台
  • 如何在网站建设远程教育门户网站建设信息化项目背景
  • 深圳全网营销推广平台宁波seo深度优化平台有哪些
  • 中国国家住房和城乡建设部网站首页ui网页界面设计素材
  • 高端网站建设开发微信网站 教程
  • 网站规划设计的一般流程注册网站能赚钱吗
  • 网站平台建设哪家公司好百度 网站改版了
  • 做视频怎样传到网站专业建设网站服务公司
  • 如何宣传网站平面设计培训素材
  • 苏州企业网站关键词优化机械加工小作坊如何接单
  • 可在哪些网站做链接php网站开发技术论文
  • 做游戏能赚钱的网站wordpress数据表前缀
  • 深圳十大网站建设网站设计制作哪个公司的好
  • 县级部门和乡镇不能建网站建设建筑工程网络计划图绘制软件
  • 聊天室网站模板i深圳网站建设
  • 南京建设行政主管部门网站民政局网站建设工作总结
  • 在线教育网站开发实例建设银行南通城区网站
  • 怎么看 网站开发语言网站建设要学多少课程
  • 做企业培训的网站公司简介网页
  • wordpress能做企业站吗六安商业网站建设费用
  • 建设旅游服务类网站的可行性报告连云制作企业网站
  • 广告网站建设流程wordpress用户组权限
  • 做o2o网站需要多少钱制作简历网站开发
  • 做网站挂广告网站建设与制作教案
  • 中山快速建站合作建设项目网站
  • 阿里云 个人网站建筑工程网络计划视频教程
  • 自学编程做点网站赚钱大连甘井子区区号
  • 会网站开发学UIchatgpt 网站
  • 百度站长统计电子商务公司怎么样