/*** 线性表的顺序存储结构*/
public class SqList {int[] data;int length;public SqList(int leng, int length) {this.data = new int[leng];this.length = length;}public int[] getData() {return data;}public void setData(int[] data) {this.data = data;}public int getLength() {return length;}public void setLength(int length) {this.length = length;}@Overridepublic String toString() {return "SqList{" +"data=" + Arrays.toString(data) +", length=" + length +'}';}//初始化顺序表public void initList() {for (int i = 0; i < this.length; i++) {this.data[i] = 99;}}//根据给出的位序获取数据元素public int getElem(int offset) {//如果给出的位序小于1或者大于当前表长度 报错if (offset < 1 || offset > this.length) {return 0;}int elem = this.data[offset];return elem;}//根据给出的位序和指定的元素插入元素public int insertElem(int offset, int value) {//如果给出的位序小于1或者大于当前表长度 报错if (offset < 1 || offset > this.length) {return 1;}if (offset <= this.length) {for (int k = this.length - 1; k >= offset - 1; k--) {this.data[k + 1] = this.data[k];}}this.data[offset - 1] = value;this.length++;return 0;}//根据给出的位序删除元素public int deleteElem(int offset) {if (offset < 1 || offset > this.length) {return 1;}if (offset < this.length) {for (int k = offset - 1; k < this.length; k++) {this.data[k] = this.data[k + 1];}}this.length--;return 0;}}
/*** 有关顺序存储线性表的操作* 初始化* 取元素* 插入元素* 删除元素*/
public class SqListOper {public static void main(String[] args) {//定义一个顺序表SqList sqList = new SqList(10, 5);//顺序表的初始化sqList.initList();//根据位序取数据int elem = sqList.getElem(4);System.out.println(elem);System.out.println(sqList);//根据位序和指定元素插入数据int i = sqList.insertElem(3, 11);System.out.println(i);System.out.println(sqList);//根据位序删除元素int i1 = sqList.deleteElem(2);System.out.println(i1);System.out.println(sqList);}
}

线性表顺序存储的初始化/取指定元素/指定位序插入指定元素/指定位序删除元素代码。

因为顺序存储的内存地址是连续的,所以查找元素的时间复杂度为O(1),这种结构称之为随机存取结构。

在元素的插入和删除操作中,平均时间复杂度都是O(n),所以顺序存储的线性表不适合数据变动较多的场景,适合一次写入多次查找。

暂时记录到这里--------------------------------------------------------------------------------------------------

数据结构代码--线性表的顺序存储结构相关推荐

  1. 数据结构之线性表之顺序存储结构(3)

    1 前言 经过前两张的理论基础,我相信大家都能简单的明白了数据结构和算法一些常用的概念了,从今天开始我们开始学习数据结构中线性表,一起叩响数据结构的大门. 2 详述 线性表(List):零个或者多个数 ...

  2. 【数据结构】线性表的顺序存储结构及实现——C语言版

    文章目录 顺序表 1. 顺序表的存储结构定义 2. 顺序表的实现 2.1 初始化顺序表 2.2 建立顺序表 2.3 销毁顺序表 2.4 判空操作 2.5 求顺序表的长度 2.6 遍历操作 2.7 按值 ...

  3. 【Java】 大话数据结构(1) 线性表之顺序存储结构

     本文根据<大话数据结构>一书,实现了Java版的顺序存储结构. 顺序存储结构指的是用一段地址连续的存储单元一次存储线性表的数据元素,一般用一维数组来实现. 书中的线性表抽象数据类型定义如 ...

  4. 【数据结构】线性表的顺序存储结构(c语言实现)

    最近在复习数据结构,参考资料为王道数据结构 /*********************************************************//*Project: sequence ...

  5. 线性表之顺序存储结构相关算法学习

    作为一名准备干一辈子的程序员,学习算法还是很有必要的.所以从基础开始了.学习教材 是大话数据结构. 线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素.代码 参照教材 采用c ...

  6. 线性表之顺序存储结构

    第三章 线性表:零个或多个数据元素的有限序列. 若将线性表标记为(a1,a2,...ai-1,ai,ai+1,...,an), 当i=1,2,...n-1时,ai有且仅有一个直接后继, 当i=2,3, ...

  7. 数据结构和算法:(3)3.1线性表的顺序存储结构

    -----------------------1.线性表基础操作------------------------ 线性表:(List)由零个或多个数据元素组成的有限序列. 首先他是一个序列,元素之间是 ...

  8. 《数据结构》c语言版学习笔记——线性表的顺序存储结构

    线性表的顺序存储结构 第一章 线性表的顺序存储结构 文章目录 线性表的顺序存储结构 前言 一.顺序存储结构的建立 1.条件 2.代码 二.顺序存储结构的获得元素 1.条件 2.代码 三.顺序存储结构的 ...

  9. 【数据结构】之线性表(顺序存储结构)

    博主声明: 转载请在开头附加本文链接及作者信息,并标记为转载.本文由博主 威威喵 原创,请多支持与指教. 本文首发于此   博主:威威喵  |  博客主页:https://blog.csdn.net/ ...

最新文章

  1. Windows环境下启动Mysql服务提示“1067 进程意外终止”的解决方案
  2. Sharding-JDBC教程:Spring Boot整合Sharding-JDBC实现数据分表+读写分离
  3. 新记录诞生,腾讯云2分31秒打破ImageNet训练记录
  4. 这里有一个3天的秘境邀请!
  5. 跟着老王学python
  6. twitter达人不能不知的缩写
  7. 深根固柢 云起磐石——移动云大云磐石服务器重磅推出
  8. python递归和循环的区别_递归与伪递归区别,Python 实现递归与尾递归
  9. python列表操作详解_Python --列表(List)详解
  10. 笨办法学R编程(5)
  11. 为什么做了梦第二天想不起来_做过的梦为什么总是想不起来?
  12. bootbox的使用
  13. SAP ERP和ORACLE ERP的区别是哪些?
  14. Yolov4-tiny pth转onnx转tensorrt
  15. echart饼图标签重叠_解决echarts中饼图标签重叠的问题
  16. 开源框架XWIKI搭建介绍
  17. 【渝粤教育】国家开放大学2019年春季 0777-22T市场开发与营销推广 参考试题
  18. 9月24号面试总结(康拓普1面)
  19. No Spring WebApplicationInitializer types detected on classpath
  20. 工业机器人 郝卫东_六自由度机器人焊接轨迹研究

热门文章

  1. 手把手教你从0开始TikTok直播(一)
  2. 机器学习 | LR逻辑回归模型
  3. 基于校园卡消费数据的数据分析与处理
  4. 硬盘常用分区格式与最大支持
  5. 这位大佬辅导了近万人成功就业
  6. 知网博士论文校外查找下载方法
  7. UI设计—表情包规范
  8. java中forward和redirect_forward和redirect的区别?
  9. HTML基础——网站首页显示页面
  10. 电商数据仓库系统总体需求分析