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

网站建设种类微信小程序开发教程官方文档

网站建设种类,微信小程序开发教程官方文档,2345电脑版,网站 建设原则目录 前言 1、Java中的数组 2、实现动态数组 2.1、基本类结构设计 2.2、添加元素 2.3、查询修改元素 2.4、包含搜索删除 2.5、数组扩容 前言 今天我们来学习一下关于数据结构的一些基础知识#xff0c;数据结构研究的是数据如何在计算机中进行组织和存…目录 前言 1、Java中的数组 2、实现动态数组 2.1、基本类结构设计 2.2、添加元素 2.3、查询修改元素 2.4、包含搜索删除 2.5、数组扩容 前言 今天我们来学习一下关于数据结构的一些基础知识数据结构研究的是数据如何在计算机中进行组织和存储使得我们可以更高效的获取数据或者修改数据那么首先我们要说的就是数组。 1、Java中的数组 数组就是把数据放成一排进行存放 通过一段代码来回忆一下数组的具体使用吧 数组最大的优点就是快速查询比如ages[2]。 思考数组的大小在创建的时候就已经固定了那么如果我们往数组里添加的元素个数超过了数组的最大容量时该怎么办呢 2、实现动态数组 基于上面的思考我们就来基于Java为我们提供的数组一步一步的实现一个动态数组可以满足增删改查的需求并且当元素个数超过数组容量时可以自动扩容。 2.1、基本类结构设计 public class Array {private int[] data;private int size;/*** 构造函数传入的是数组的容量** param capacity 容量*/public Array(int capacity) {data new int[capacity];size 0;}// 无参构造默认容量为10public Array() {this(10);}// 获取数组中的元素个数public int getSize() {return size;}// 获取数组的容量public int getCapacity() {return data.length;}//判断数组是否为空public boolean isEmpty() {return size 0;} } 2.2、添加元素 思想向数组末尾添加元素 2.3、查询修改元素 2.4、包含搜索删除 经过上面这些步骤数组中的相关方法都已经添加好了最后我们再把这个Array类修改为泛型类ArrayElement让它可以添加各种数据类型的元素这里我就不再一一修改了后面会附上完整的代码。 接下来我们来简单测试一下我们的Array类是否可用 执行结果如下 2.5、数组扩容 对于扩容也很简单就是当数组中的容量不够存储时重新创建一个更大容量的数组然后将原数组的数据一一更新到新数组中当然具体扩容成多少就由开发者自行决定了下面来看代码 然后我们来实际测试一下是否扩容成功 从执行的结果中可以很明显的看出我们的动态数组已经成功实现了扩容 最后附上完整的Array.java类的源码吧 public class ArrayE {private E[] data;private int size;/*** 构造函数传入的是数组的容量** param capacity 容量*/public Array(int capacity) {data (E[]) new Object[capacity];size 0;}// 无参构造默认容量为10public Array() {this(10);}// 获取数组中的元素个数public int getSize() {return size;}// 获取数组的容量public int getCapacity() {return data.length;}//判断数组是否为空public boolean isEmpty() {return size 0;}// 向所有元素后添加一个新元素public void addLast(E e) {add(size, e);}// 向所有元素前添加一个新元素public void addFirst(E e) {add(0, e);}// 向第index位置插入一个新元素public void add(int index, E e) {if (index 0 || index size) {throw new IllegalArgumentException(数组下标异常);}if (size data.length) {resize(2 * data.length);}for (int i size - 1; i index; i--) {data[i 1] data[i];}data[index] e;size;}// 容量不够时进行扩容private void resize(int newCapacity) {E[] newdata (E[]) new Object[newCapacity];for (int i 0; i size; i) {newdata[i] data[i];}data newdata;}// 获取index索引位置的元素public E get(int index) {if (index 0 || index size) {throw new IllegalArgumentException(数组下标异常);}return data[index];}//修改index索引位置的元素public void set(int index, E e) {if (index 0 || index size) {throw new IllegalArgumentException(数组下标异常);}data[index] e;}// 查找数组中是否有元素epublic boolean contains(E e) {for (int i 0; i size; i) {if (data[i].equals(e)) {return true;}}return false;}// 查找数组中元素e所在的索引如果没有则返回-1public int findIndex(E e) {for (int i 0; i size; i) {if (data[i].equals(e)) {return i;}}return -1;}// 从数组中删除index位置的元素并且返回删除的元素public E remove(int index) {if (index 0 || index size) {throw new IllegalArgumentException(数组下标异常);}E ret data[index];for (int i index 1; i size; i) {data[i - 1] data[i];}size--;if (size data.length / 4 data.length / 2 ! 0) {resize(data.length / 2);}return ret;}// 从数组中删除第一个元素public E removeFirst() {return remove(0);}// 从数组中删除最后一个元素public E removeLast() {return remove(size - 1);}// 从数组中删除元素epublic void removeElement(E e) {int index findIndex(e);if (index ! -1) {remove(index);}}Overridepublic String toString() {StringBuilder res new StringBuilder();res.append(String.format(Array:size%d,capacity%d\n, size, data.length)).append([);for (int i 0; i size; i) {res.append(data[i]);if (i ! size - 1) {res.append(,);}}res.append(]);return res.toString();} } OK关于动态数组的相关内容就说这么多吧下期再会 祝工作顺利
http://www.hkea.cn/news/14336479/

相关文章:

  • 网站建设程序开发注册公司费用会计分录
  • 苏州建设交易中心网站法治网站的建设整改措施
  • 网站进度条做多大wordpress开启缩略图
  • 设计网站需要的知识酷家乐装修设计软件
  • 做网站价格ihanshiapp软件制作教程
  • 泰安企业网站制作wordpress 视频页面
  • 网站被黑了经典重庆论坛新闻评论
  • 什么是网站链接优化十大汽车公司
  • 网站后台排版布局php红酒网站建设
  • 栖霞建设招标网站如何布局网站
  • 徐州贾汪区建设局网站公众号免费推广平台
  • 如何把自己做的网站放到网上在哪里查商标注册信息
  • 西安做网站优化赣州seo培训
  • 做网站网站的推广是不是犯罪的wordpress 手机不显示图片
  • 贵州省水利建设管理总站网站wordpress文章显示字数
  • 来宾 网站建设建筑工人招聘网站怎么做
  • 谷歌seo网站推广怎么做企业网站ui设计欣赏
  • 全国电子网站建设php本地建站工具
  • 响应式网站 框架个人网站如何建立
  • 加强网站内容建设的意见google付费推广
  • 建国外网站宝安建设工程交易服务网
  • 导航网站模板免费赣州市九一人才网手机版
  • 住房城市建设网站长沙好的网站建设公司
  • 网站开发报告样式外贸营销网
  • asp.net 网站 相册建设网站的情况说明
  • 搜狐最大的门户网站舟山网络公司网站建设公司
  • 制作网站软件app山东省农村电影监控平台下载
  • 怀化做网站ui网页设计成都培训
  • 绍兴微网站建设电子商务网站系统规划
  • 营销型网站开发做seo排名好的公司