一维数组存储缺点,使用一维数组有哪些优势

seosqwseo4个月前 (05-21)测评日记48

一、C语言怎么用指针代替二维数组

1.设p是指向二维数组a[m][n]的指针变量,则有:

int* p=a[0];//此时P是指向一维数组的指针。P++后,p指向 a[0][1]。

2.如果定义int(*p1)[n];p1=a;p1++后,p1指向a[1][0];

则p+j将指向a[0]数组中的元素a[0][j]。

由于a[0]、a[1]┅a[M-1]等各个行数组依次连续存储,则对于a数组中的任一元素a[i][j],指针的一般形式如下:

p+i*N+j,相应的如果用p1来表示,则为*(p1+i)+j。

元素a[i][j]相应的指针表示为:

*( p+i*N+j),相应的如果用p1来表示,则为*(*(p1+i)+j)。

同样,a[i][j]也可使用指针下标法表示,如p[i*N+j]。

若有:

int*p=a[0];

则数组a的元素a[1][2]对应的指针为:p+1*4+2

元素a[1][2]也就可以表示为:*( p+1*4+2)

用下标表示法,a[1][2]表示为:p[1*4+2]

扩展资料:

指针与数组的关系:

1.指针数组:就是一个由指针组成的数组,那个数组的各个元素都是指针,指向某个内存地址。char*p[10];//p是一个指针数组

2.数组指针:数组名本身就是一个指针,指向数组的首地址。注意这是一个常数。

example:

char(*p)[10];//p是一个数组指针

3.函数指针:本身是一个指针,指向一个函数入口地址,通过该指针可调用其指向的函数,使用函数指针可实现回调函数。

参考资料:

百度百科-指针

二、树的存储形式

树的存储形式如下:

树的存储形式有双亲表示法、孩子表示法、孩子兄弟表示法。双亲表示法的特点:由于根结点是没有双亲的,约定根结点的位置位置域为-1。

根据结点的parent指针很容易找到它的双亲结点。所用时间复杂度为0(1),直到paren为-1时,表示找到了树结点的根。缺点:如果要找到孩子结点,需要遍历整个结构才行。

孩子表示法定义:把每个结点的孩子结点排列起来,以单链表作为存储结构,则n个结点有n个孩子链表,如果是叶子结点则此单链表为空。然后n个头指针又组成一个线性表,采用顺序存储结构,存放进一个一维数组中。

双亲孩子表示法定义:对于孩子表示法,查找某个结点的某个孩子,或者找某个结点的兄弟,只需要查找这个结点的孩子单链表即可。但是当要寻找某个结点的双亲时,就不是那么方便了。所以可以将双亲表示法和孩子表示法结合形成双亲孩子表示法。

优缺点:

双亲表示法:该种方法寻找一个节点的双亲结点比较方便,但是对于寻找一个节点的孩子节点*作实现却不太方便。

孩子表示法:该方法寻找一个节点的孩子节点*作比较方便,但是寻找一个结点的双亲结点就比较麻烦了。

双亲孩子表示法:该存储结构具有双亲表示法和孩子表示法两种存储结构优点,到*作实现比较麻烦。

孩子兄弟表示法:该存储结构其实就是把树转换为一个二叉树的形式去存储,实现比较方便。

三、使用一维数组有哪些优势

1、数组,顾名思义,是相同类型的数组成的一个组,也就是说是把相同类型的一系列数据统一编制到某一个组别中。这样就可以通过数组名+索引号简单快捷的*作大量数据。这就和全校学生一样,把学生分成多个班级,每个学生都是班级中的一员,如果要找张三,如果没有班级的话,就要在全校学生中一个一个寻找,一直到找到为止;但是如果引入了班级,就可以在某某班级中寻找张三,这样就更加方便快速了。

2、一般有四种数组定义方式,以一维数组为例:

//定义指定维数的数组

int arr[10];

//定义不指定维数的数组,数组维数有初化列表元素个数决定。

int arr[]={1,2,4};

//定义指定维数的数组,初始化不完全时,系统将未初始化元素初始化为0

int arr[10]={1,2};

//动态分配一个数组。下面分配了一个有10个元素的数组。

int*arr=(int*) malloc(10* sizeof(int));

四、设对称矩阵A压缩存储在一维数组B中

首先由 a52能够得到的信息有:

针对特殊的矩阵压缩的方式是存储下三角,而且下三角计算一维数组的下标是:k=i(i+1)/2+j

由a11存储在B[0]可以知道从1开始存储,计算时需要减1

a36位于上三角中,对应的下三角的点是a63,在根据公式就能算出下标,注意一定要找到下三角的点

相关文章

川宇USB3.0高速读卡器多功能二合一tf内存卡sd单反相机读卡器C396使用感受分享

川宇USB3.0高速读卡器多功能二合一tf内存卡sd单反相机读卡器C396使用感受分享

很多小伙伴在关注川宇USB3.0高速读卡器多功能二合一tf内存卡sd单反相机读卡器C396怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,...

小白D1接入米家APP智能可视门铃无线电子猫眼1080P高清摄像头家用监控器持久续航手机远程查看怎么样?质量测评好不好用?

小白D1接入米家APP智能可视门铃无线电子猫眼1080P高清摄像头家用监控器持久续航手机远程查看怎么样?质量测评好不好用?

很多小伙伴在关注小白D1接入米家APP智能可视门铃无线电子猫眼1080P高清摄像头家用监控器持久续航手机远程查看怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用...

阿尔法蛋AI词典笔T20旗舰版英语点读笔翻译笔全科学习笔神器好用吗

阿尔法蛋AI词典笔T20旗舰版英语点读笔翻译笔全科学习笔神器好用吗

很多小伙伴在关注阿尔法蛋AI词典笔T20旗舰版英语点读笔翻译笔全科学习笔神器怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款...

汉王(Hanvon)N10手写电纸本10.3英寸电子书阅读器墨水屏电纸书平板电子笔记本智能办公本冰山灰怎么样?质量测评好不好用?

汉王(Hanvon)N10手写电纸本10.3英寸电子书阅读器墨水屏电纸书平板电子笔记本智能办公本冰山灰怎么样?质量测评好不好用?

很多小伙伴在关注汉王(Hanvon)N10手写电纸本10.3英寸电子书阅读器墨水屏电纸书平板电子笔记本智能办公本冰山灰怎么样?质量好不好?使用测评如何?本文综合已购用户的客...

科大讯飞智能录音笔B1转写助手32G测评使用介绍

科大讯飞智能录音笔B1转写助手32G测评使用介绍

很多小伙伴在关注科大讯飞智能录音笔B1转写助手32G怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品,一起来看...

科大讯飞智能录音笔H1Pro质量测评好不好

科大讯飞智能录音笔H1Pro质量测评好不好

很多小伙伴在关注科大讯飞智能录音笔H1Pro怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品,一起来看看吧。...