数据结构笔记(十五)-- 数组原理

一、数组的概念

从本质上讲,数组与顺序表、链表、栈和队列一样,都用来存储具有 “一对一” 逻辑关系数据的线性存储结构。只因各编程语言都默认将数组作为基本数据类型,使初学者对数组有了 “只是基本数据类型,不是存储结构” 的误解。
不仅如此,数组和其他线性存储结构不同,顺序表、链表、栈和队列存储的都是不可再分的数据元素(如数字 5、字符 ‘a’ 等),而数组既可以用来存储不可再分的数据元素,也可以用来存储像顺序表、链表这样的数据结构。
比如说,数组可以直接存储多个顺序表。我们知道,顺序表的底层实现还是数组,因此等价于数组中继续存储数组。这与平时使用的二维数组类似。
根据数组中存储数据之间逻辑结构的不同,数组可细分为一维数组、二维数组、…、n 维数组:

1、数组的定义

在这里插入图片描述

2、数组的顺序存储

数组一旦被定义,它的维度和维界就不在改变,除了销毁和初始化之外。
数组只有存取元素和修改元素值的操作,因此采用顺序存储结构来存储数组。

数组存储的核心问题是:数组元素多维结构到一维内存空间的映射
在这里插入图片描述

2.1、二维数组的两种存储方式

由于数组可以是多维的,而顺序存储结构是一维的,因此数组中数据的存储要制定一个先后次序。通常,数组中数据的存储有两种先后存储方式:

2.1.1、以列序为主(先列后行):按照行号从小到大的顺序,依次存储每一列的元素

在这里插入图片描述

2.1.2、以行序为主(先行后列):按照列号从小到大的顺序,依次存储每一行的元素。

在这里插入图片描述

2.2、多维数组查找指定元素

当需要在顺序存储的多维数组中查找某个指定元素时,需知道以下信息:

多维数组的存储方式;
多维数组在内存中存放的起始地址;
该指定元素在原多维数组的坐标(比如说,二维数组中是通过行标和列标来表明数据元素的具体位置的);
数组中数组的具体类型,即数组中单个数据元素所占内存的大小,通常用字母 L 表示;
2. 2.1、二维数组查找指定元素

在这里插入图片描述

2.2.2、N维数组查找指定元素

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值