算法与数据机构c语言问题

作者&投稿:姚狠 (若有异议请与网页底部的电邮联系)
二维数组列序存储方式是按照一列一列存储的。第一个存储的是a[0][0],第二个存储的是a[1][0],…,第一列的最后一个存储的是a[9][0];
而行序存储的刚好相反,第一个存储的是a[0][0],第二个存储的是a[0][1],....第一行最后一个存储的是a[0][19]。

回到你的问题:
a[0][0]的存储地址是2000,那么a[1][0]的存储地址就是2000+10=2010
以此类推,a[6][12]的存储地址就是2000+(12*10+6)*10=3260;

这里给你个公式方便你计算:
二维数组a[M][N]采用列序为主方式存储,每个元素占A个存储单元,且a[0][0]的存储地址是B.则a[C][D]的地址是
a[C][D]=B+(D*A+C)*A;
按照你本体的意思,这里M=10,N=20,A=10,B=2000,C=6,D=12;
所以a[6][12=2000+(12*10+6)*10=3260

如果采用列序存储的方式,也就是按列存储。即先存第0列元素,然后第1列,依此类推。

那么在元素a[6][12]之前,已经存储了前12列(列号为0~11),加上第12列的前6行(行号为0~5)元素。即已经存储过了,12列加6个元素,共计12*10+6个元素。

所以a[6][12]元素的地址应为:2000+(12*10+6)*10=24ECH;

求某一元素地址的关键在于:要弄清楚,在这一元素之前,系统已经存储了多少个元素。
注意:地址是以十六进制为单位的。

有列序这种数据结构吗?

C语言数据的表示方法~

C语言里数据分很多种,字符型,逻辑型,整型,长整型等等,每种数据类型都有不同的表示方法。如果要问在C语言数据在电脑存储系统里的表示方法,那就简单了,只有0和1。电脑这东西很笨的,它别的什么都不认识。人哪儿都比它强,唯一不如它的地方也是它唯一可取的地方就是运算 速度。

1,第一个用栈,算法就是你把十进制转成二进制的计算方法模拟,用这个数值除2,将余数入栈,最后将栈里的数值顺序取出来就是了

2,这个不难吧,就是个出栈和队列入队的问题啊

关于C语言指针的问题
答:于是乎我身边好些同学,都直接放弃用指针,毕竟在开发语言中,用到指针的地方也很少,C#中也只是提到了代理。但是,指针终究还是C语言的精髓,想想看,没有指针怎么会生成那么多的数据机构(链、栈、队列。。。),而掌握这些,又是使用C来进行编程,解决许多实际问题的关键。说的够多了,剩下的就给LZ自己去找机会领悟吧。

C语言和JAVA有什么区别?
答:\x0d\x0a\x0d\x0aC++是在C语言的基础上加入了面向对象的概念,成为混合型面向对象语言,功能强大,但难度也大。\x0d\x0a\x0d\x0aJava是在C++的基础上进行改进的,摒弃了一些C++的不足之处,语法跟C++很像,它是运行在Java虚拟机上,所以可以跨平台,一处编译,到处执行。\x0d\x0a\...

C语言中的树和图有什么用
答:树最直观的用途就是如人类社会的族谱和各种社会组织机构都可用树形象表示。树在计算机领域中也得到广泛应用,如在编译源程序如下时,可用树表示源源程序如下的语法结构。在数据库系统中,树型结构也是信息的重要组织形式之一,一切具有层次关系的问题都可用树来描述。数据结构的图就是实际情况的抽象,即...

C++ ,C语言还有数据结构哪个最难学,哪个最好学?以及正确的学习顺序_百 ...
答:现在数据结构是门编程的通用课程,里面会讲一些运算方法及数据存储机构等 但要用到一门语言做例子,现在常用的就是C,所以你要先学会C语言才能看的懂数据结构 C++是比C较难的多,里面有部分语法还不太一样,而且增加了类等很多不同的语言结构 ...

如何提高C语言解题思路,看到个实际问题,要定义很多变量,但想一会就迷...
答:可以第一时间想到哪些对象用哪些数据结构合适,哪些次之,哪些不合理。这些基本知识的熟练可以帮助你在第一时间对程序的整体框架有个认识。PS:敲了很多,不知道楼主看懂没。这个东西就是熟能生巧。某个问题遇到一次之后再遇到一次自然很快就想出来了,思路自然也会比第一次清晰很多的。

C语言必须知道的300个问题的版本
答:ISBN:9787302276678定价:49.8元印次:1-1装帧:平装印刷日期:2011-12-28 本书以基础知识为框架,介绍了C语言各部分知识所对应的常见开发疑难问题,并作了透彻地解析。本书内容包括初识C语言,一个简单的C程序,算法入门,常用数据类型,运算符与表达式,输入/输出函数,选择、分支结构程序设计,循环...

C语言实训总结
答:好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序。在这里,我作为其中的参与者,自然感触良多。刚开始接触到C的时候,我已经学过一些有关VB的内容,这个在算法和思维上稍微有点帮助。回想本学期的学习,首先,最基本的,是C的数据格式,让我们知道整数,浮点数以及...

c语言好学吗?
答:但是大多数自学能力不是很强的人,只能依赖老师、同学、同事或者朋友帮忙指导,或者报名培训机构,老师指导完成了。学习编程通常需要一些好的学习资料,包括纸质的书籍,视频教程,课件,项目练习,代码。零基础入门的书籍推荐《明解C语言》、《C Primer Plus》,还有一本非常特别的汇编和C语言正向逆向结合的...

c语言"判断数值为空"的问题
答:某些编译器)定义的一个常量,常见的是 #define NULL (0)的情况,而这个0只是赋给一个指针,即让指针初始化为内存的0地址,我们称其为空地址(或指针值为空),但实际上,C语言中所有的变量都是保存到内存中的,其值就是其所在内存单元中保存的一个数,而内存单元中只要上电,就一定会存在数据(随机数,或特定的数据...

c语言问题。i++; 算是赋值语句么?
答:赋值语句的定义是赋值表达式加上一个;,赋值表达式的定义又是有赋值运算符将一个变量和一个表达式连接起来的式子。自增运算符又不是赋值运算符,怎么能说i++;是赋值语句。麦小丧 | 浏览1820 次 |举报 我有更好的答案推荐于2017-12-15 10:24:43 最佳答案 这种讨论意义不大。C语言本身是以表达式为基础的语言...