早教吧 育儿知识 作业答案 考试题库 百科 知识分享

在数据结构中,对数据必须要用相同的数据结构进行存储吗比如说对一个结点的数据结构在同一个数据结构图中是否要让它们包括相同的域呢因为在这些域中有的能用到有的用不到

题目详情
在数据结构中,对数据必须要用相同的数据结构进行存储吗比如说 对一个结点的数据结构 在同一个数据结构图中 是否要让它们包括相同的域呢 因为在这些域中有的能用到 有的用不到
▼优质解答
答案和解析
我们从c数据结构来说,可以不用相同结构,至于书上都一样,那是一般情况下,既然想把这些数据放在一起,就说明了这些数据有某些相同或相似的特征,使用相同域也在情理之中。不过在特别情况下,也可以把不同的结构放在一起,比如在一个学校的管理系统中,学生有一两万,老师有一两千,老师和学生用不同的结构,可由于老师人数太少,想和学生一起管理,就可以和学生放在一起。 对于内存存储来说,有两种方式,第一种是使用联合union,使得学生老师使用同一联合就可以使用不同的域,这种方法的操作和普通结构体的操作一样,只不过要多一个域来指示每个联合存的是老师还是学生。第二种是直接使用两个结构,不使用联合,这时对于顺序存储来说,就有点困难了,因为结构可以大小不一,这时可以在两个结构的第一个域设置为标志域,标志两个结构,存储时通过标志域获取当前位置的结构,在按该结构的大小存取,顺序存储还可以在顺序表只存储结构的指针,那这时顺序表就是普通顺序表了,表元素可以使用*void类型,就可以存储任何地址了。对于链式存储,可以在两个结构体放个next域,next为*void类型,就可以把两个不同的结构连起来了,读时可通过结构的第一个元素〔标志位,大小相同〕来确定结构类型。当然,也可以把链表的数据域改为*void,存放结构指针。 对于外存存储,既存文件里,那就只能按照在内存把结构体顺序存那样,按大小把结构体存文件里,读时按结构体的第一个元素的值来判断当前的结构,再按当前结构的大小来读出来。
看了在数据结构中,对数据必须要用相...的网友还看了以下:

从一个整数着手把各位上的数字倒过来然后两数相加一直进行下去最后你将会得到一个回文数字从一个整数着手  2020-04-07 …

二元一次方程组的应用体育课上,20个人一组做定点投篮,每个人投5次,某一组进球记录入下,但有两格里  2020-05-21 …

请你任选一个自然数(如数37658或497645),将这个数里的每一个数字平方后相加(从左到右依次  2020-06-14 …

按二进制数权的大小展开的多项式十进制数转换为二进制数的一种简单方法,把一个十进制数写成按二进制数权  2020-07-27 …

谁能帮我写一个VB的过程是把数组Point中的元素每隔25个放到数组result中数组类型是POIN  2020-11-01 …

一座有三道环路的数字迷宫,每一个入口都设置一个数,要求每一个进入者都把自己当作数“1”,进入时必须乘  2020-11-04 …

数学进制之间的转换公式是什么啊?十进制数到二进制的转换、二进制数到十进制的转换;十进制数到十六进制的  2020-11-17 …

实验小学五年一班进行篮球测验,每人投10次,按每人进球数及人数统计的部分情况如下表:进球数:0,1,  2020-11-20 …

请你任选一个自然数,将这个数里的每一个数字平方后相加{从左到右依次进行},得到一个新的数,再将得到的  2020-11-30 …

(1)4个自然数之和为100,将这4个自然数进行如下变换:找出一个最小的数加上2,找出一个最大的数减  2020-12-04 …