| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 【数据结构】顺序表 -> 正文阅读 |
|
[游戏开发]【数据结构】顺序表 |
写在前面:
目录 1.线性表
2.顺序表的实现新建一个类叫做ArrList,顺序表的底层是数组,所以类里面也要有数组,其次还需要一个计数器来判断数组目前使用的空间是多少,那么顺序表的框架就完成了
接下来就是顺序表的增删改查等操作了 2.1增加数据增加数据有两个方法:末尾增加数据和任意位置增加数据 2.1.1尾部增加数据在这之前需要进行的一项工作是判断顺序表的空间是否已满,如果空间已满的话需要进行扩容,判断顺序表空间是否已满的依据是计数器的值和数组的长度是否相等
2.1.2任意位置增加数据任意位置添加数据的话首先要判断输入的值是否是合法的,有一点要注意:如果输入的值和计数器的值是相等的,那么此时就是在顺序表末尾添加数据,这个数是合法的
2.2查找数据输入一个值,遍历顺序表进行查找,有则返回下标,没有返回-1
之所以返回值是int而不是boolean是因为后面的删除和修改数据的方法会使用到此方法 2.3删除数据找到要删除的值的下标,从此处开始用后面的值对前面的值进行覆盖,最后将尾部的值改为0
2.4修改数据修改指定位置的值,依旧首先要判断位置是否合法
最后是销毁顺序表,不需要吧数组进行销毁,否则下次使用的时候还需要再实例化一个对象,只需要让计数器为0即可
3.ArrayListJava中的顺序表叫做ArrayList,这是一个泛型类,这个类继承了多个其它类以及接口,其中包括List接口,List提供了很多抽象方法,ArrayList实现此接口对这些方法进行重写 3.1ArrayList的实例化ArrayList有三种构造方法
要说明的是:调用无参数构造方法,默认数组的大小为0,之后在调用里面的方法(比如add方法)的时候会有专门的扩容的方法将其扩容为10,之后如果数组满了的话扩容为之前的1.5倍(源码里面套的方法太多就不展示了) 3.2ArrayList常用的方法
最后的截取方法是在原数组上进行截取 顺序表结束,完 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 11:59:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |