数据结构 顺序表学习总结

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

目录

  • 前言
  • 1. 顺序表介绍
    • 1.1 什么是顺序表
    • 1.2 顺序表的性质
    • 1.3 顺序表的构成
    • 1.4 顺序表的框架代码(C++版)
  • 2. 顺序表的操作
    • 2.1 初始化顺序表
      • 2.1.1 步骤
      • 2.1.2 代码展示
    • 2.2 顺序表的插入
      • 2.2.1 步骤
      • 2.2.2 代码展示
    • 2.3 顺序表的扩容
      • 2.3.1 步骤
      • 2.3.2 代码展示
    • 2.4 顺序表的查询
      • 2.4.1 步骤
      • 2.4.2 代码展示
    • 2.5 顺序表的删除
      • 2.5.1 步骤
      • 2.5.2 代码展示
    • 2.6 顺序表的遍历输出
      • 2.6.1 步骤
      • 2.6.2 代码展示
  • 总结

前言

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

1. 顺序表介绍

1.1 什么是顺序表

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

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

数据结构 顺序表学习总结_第1张图片

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

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

1.2 顺序表的性质

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

1.3 顺序表的构成

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

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

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

#include 
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<

你可能感兴趣的:(数据结构,数据结构,1024程序员节)