数据结构 顺序表学习总结

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。

前言

线性表是数据结构中最基础也是最常见的一种结构,它像一根“线”把数据像“串珠子”一样串联了起来。根据数据在内存中是否连续,可以把线性表分为:顺序表和链表 ,本文详细介绍顺序表。

1. 顺序表介绍

1.1 什么是顺序表

想象一栋小区楼,这栋楼里的房间都被规划成相同的样式,并且根据房间所在楼层和在楼层中的位置给它分配了房间号,我们拿到一个房间号就能快速准确的找到对应的房间。

顺序表就如同这一栋小区,数据从第一个房间开始依次占据一个“房间”,由于每个房间的大小是固定的,所以当我们想访问第i个“房间”的时候,可以通过“起始位置 + 偏移量” 直接找到它所在的位置,如下图所示:

顺序表示意图

在程序的世界中,对元素的计数一般是从0开始的,所以“偏移量”的计算公式为:

(i - 1)* sizeof(数据类型)

1.2 顺序表的性质

  • 顺序表在内存中是连续的,并且顺序表中的数据在存储结构上是存在先后顺序的。
  • 顺序表中的数据应为同一种数据类型,此时“偏移量”只取决于数据的位数。
  • 顺序表所占据的内存空间全部用来存储数据了,所以它的存储密度为1。

1.3 顺序表的构成

顺序表主要由三部分组成:

  • 容量
  • 数据的个数
  • 存储空间

1.4 顺序表的框架代码(C++版)

#include <iostream>
using namespace std;
template <typename Type> class Vector {
   
    private:
    	int size, length;
    	Type *data;
    public:
    	Vector(int new_size)				// 构造函数,用来初始化顺序表
        ~Vector()							// 析构函数,回收顺序表的存储空间
        void insert(int loc, Type value)	// 用来实现顺序表的插入功能
        void expand()						// 用来实现顺序表的扩容功能
        void search(const Type &value)		// 用来实现顺序表的查询功能
        void remove(int loc)				// 用来实现顺序表的删除功能
        void dispaly
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值