c语言怎么给两个线性表赋值,C语言-线性表的定义和逻辑结构(二)

线性表的顺序存储结构

顺序存储结构的概念

顺序表:线性表的顺序存储是指用一组地址连续的存储单元依次存放线性表的数据元素,这种存储形式的线性表称为顺序表。在顺序表中用内存中地址的线性关系表示线性表中数据元素之间的关系。

顺序表的特点:逻辑结构中相邻的结点在存储结构中也相邻,可以随机访问。

在程序设计语言中,一维数组在内存中占用的存储空间就是一组连续的存储区域,因此可以利用一维数组来存储线性表,其存储结构与线性表的逻辑结构完全一致。

利用数组存储处理线性表

数组是计算机内存中一组类型相同、连续存储的变量,每一个变量称为数组元素,按地址由小到大的顺序每个数组元素都有一个确定的下标。C语言中,在说明数组的同时就为数组开辟了相应的存储空间。

例 线性表A(2,4,6,8,10)

数据元素的数据类型为整形,表长为5

C语言相关语句:

int a[10],I;

for ( i=1 ; i<=5;i++)

scanf(“%d”,&a[ i ]);

a[0]=5;

可见,利用数组存储线性表,它的存储结构与线性表的逻辑结构完全一致。

利用指针处理线性表

指针:任意一个内存变量,都有唯一确定的地址,称这个地址为该变量的指针,它是一个常量。

指针变量:是一种特殊的变量,它和普通变量一样占用一定的内存空间,与普通变量的不同之处在于,指针变量中存放的不是普通数据,而是另外一个变量的地址(指针)。

指针变量在说明时要指明它的数据类型,其类型就是它将要指向的变量的类型。就C语言而言,只要把数组的首地址赋给具有相同数据类型的指针变量,就可以利用该指针访问到数组中任意一个数组元素,因而也就可以利用指针处理线性表。由于数组名是地址常量,不能对它进行赋值,而指针变量可以进行一系列运算并能被赋值,另外利用指针变量结合C语言的相关函数可以动态分配存储空间,所以,采用指针处理线性表比数组更方便、更灵活。

例如:int a[10];

int *p;

p=a; (或p=&a[0];)

上述语句说明了一个整型数组a,具有10个数组元素;又说明了一个整型指针p,并把数组a的首地址赋给指针p。此后利用p就可以访问数组中任意一个元素,例如*(p+i)就等价于a[i],(i=0,1,2,…,9)。

顺序表是如何表示线性表中元素之间逻辑关系的?

顺序表是用顺序结构存储的线性表,即将线性表的所有元素按其逻辑顺序依次存放在计算机内存中一组连续的存储单元中。顺序表的特点是,其逻辑关系相邻的两个结点在物理位置上也相邻,结点的逻辑次序与物理次序完全一致。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值