数组存储结构
A. 一维数组在内存中的存放方式是怎么样的
一维数组在内存中的存放方式是:
1、硬盘上不可能运行程序的,必须在内存中运行。
2、低地址到高地址存储 。
3、数组元素通常也称为下标变量。
4、在c语言中,只能逐个地使用下标变量, 不能用一个语句输出整个数组。
5、int a[10]和t=a[6]分别是定义数组长度为10和引用a数组中序号为6的元素,6不代表数组长度。
(1)数组存储结构扩展阅读:
数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 这些有序排列的同类数据元素的集合称为数组。
数组是用于储存多个相同类型数据的集合。
在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
B. 一个简单的问题,数组是逻辑结构还是存储结构
存储结构是逻辑结构的存储映像,逻辑结构指的是数据间的关系,它又分为线性结构和非线性结构,这两者并不冲突。一个指的是数据之间的关系,而另一个指这种关系在计算机中的表现形式。两者的区别就在于给他们定义的特殊操作,它们都有”出“和”入“两种操作,一个是“先进先出”,而一个是“后进先出”。
一种逻辑结构在计算机里可以用不同的存储结构实现。比如逻辑结构中简单的线性结构,可以用数组(顺序存储)或单向链表(链接存储)来实现。逻辑结构:指各数据元素之间的逻辑关系。存储结构:就是数据的逻辑结构用计算机语言的实现。
C. c语言中,一位数组的逻辑结构是(),存储结构式();对二维数组或多维数组分哪两种存储方式
对二维数组或多维数组分行优先和列优先两种存储方式
一位数组的逻辑结构是顺序存储结构
D. 什么是数组数组元素与存储单元的对应关系是怎样的
数组就是存储一堆数据的存储结构。(可是是整数,可以是字母,甚至,多元数组还可以存储字符串)
数组里的元素是连续的。所以相邻的存储单元的存储地址是连着的。
这也是后面为什么指针可以来代替数组处理问题的原因。
比如a[0]和a[1]的存储单元地址是连续的
E. 为什么说数组是一种随机存储结构
数组的存储是连续的,但是访问是随机的。因为可以用下标进行数组的随机访问。相反,链表可以实现随机存储,但是其访问却必须是连续的。
F. 数组是按照什么数据结构存储的
顺序存储结构,因为数组在空间上是连续的
G. 数组的存储结构采用什么存储方式
数组在内存中是采用一段连续的地址进行顺序存储的!
祝你学习愉快!
详细请参考
http://www2.gliet.e.cn/jpkc/datastructure/course/course_content.asp?chapter_id=4§ion_id=17
H. 数据的存储结构包括________。
数据的存储结构包括顺序存储和链式存储结构。
顺序存储结构是把逻辑上相邻的节点存储在物理位置上相邻的存储单元中,结点之间的逻辑关系由存储单元的邻接关系来体现。通常顺序存储结构是借助于计算机程序设计语言数组来描述的。主要优点是节省存储空间,可实现对节点的随机存取,即每一个节点对应一个序号。
链式存储结构在计算机中用一组任意的存储单元存储线性表的数据元素。链式存储结构通常借助于程序设计语言中的指针类型来实现。它不要求逻辑上相邻的元素在物理位置上相邻;每个节点是由数据域和指针域组成;由于簇是随机分配的,这也使数据删除后覆盖几率降低,恢复可能提高。
(8)数组存储结构扩展阅读:
顺序存储结构的基本原理
在顺序存储中,每个存储空间含有所存元素本身的信息,元素之间的逻辑关系是通过数组下标位置简单计算出来的线性表的顺序存储,若一个元素存储在对应数组中的下标位置为i,则它的前驱元素在对应数组中的下标位置为i-1,它的后继元素在对应数组中的下标位置为i+1。
在链式存储结构中,存储结点不仅含有所存元素本身的信息,而且含有元素之间逻辑关系的信息。
I. 数据结构、数组存储的地址怎么计算
数组存储地址的计算:
以二维数组为例,其他的依次类推
假设起始下标从0开始,按行存储(总共有M行,N列):
A[i][j]=A[0][0]+(i*N+j)*L
这地方的L是数组中的一个元素所占的存储空间。
或:
即使A[8][5]前面有多少个元素,
行下标i从1到8,列下标j从1到10,所有A[8][5]之前共有n7*10+4(74)个元素,
每个元素的长度为3个字节,故共有3*74=222个字节
首地址是SA,则A[8][5]地址是SA+222
(9)数组存储结构扩展阅读:
在数据的顺序存储中,由于每个元素的存储位置都可以通过简单计算得到,所以访问元素的时间都相同;而在数据的链接存储中,由于每个元素的存储位置保存在它的前驱或后继结点中,所以只有当访问到其前驱结点或后继结点后才能够按指针访问到,访问任一元素的时间与该元素结点在链式存储结构中的位置有关。
J. 程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构
不对,数组本身的存储结构是线性的,就是说它是连续存储的,但是数组中元素可以存储指针,就是指针型数组,它就可以利用数组处理非线性的数据。比如将一个链表每个结点的地址存入数组,那样访问数组,就是处理非线性的数据了