永发信息网

数据结构中的线性表的初始化操作是什麽?

答案:2  悬赏:80  手机版
解决时间 2021-04-05 03:58
数据结构中的线性表的初始化操作是什麽?
最佳答案
初始化就是建立一个空线性表,那直接把长度置为0就行了。
  1
  2 Status InitList(SqList *L)
  3 {
  4 L->length=0;
  5 return OK;
  6 }
  因为要初始化,要对线性表本身进行操作,所以不能用值传递。值传递不会改变实参的值嘛。地址传递的话呢,实际上在函数内部执行了这么一个操作:L = &L. 所以操作函数内部的L,也就相当于操作外部的线性表L。其实地址传递也是值传递。不过这个值是地址而已。
  就是说,需要修改表的就传指针,不需要修改表的传值就行了。那补上一个完整的可运行的程序。
  01 #include "stdio.h"
  02
  03 #define OK 1
  04 #define ERROR 0
  05 #define TRUE 1
  06 #define FALSE 0
  07
  08 #define MAXSIZE 20
  09 typedef int ElemType;
  10 typedef int Status;
  11
  12 typedef struct
  13 {
  14 ElemType data[MAXSIZE];
  15 int length;
  16 }SqList;
  17
  18
  19 Status InitList(SqList *L)
  20 {
  21 L->length=0;
  22 return OK;
  23 }
  24
  25 int main()
  26 {
  27 SqList L;
  28 ElemType e;
  29 Status i;
  30
  31 i=InitList(&L);
  32 printf("初始化L后:L.length=%d\n",L.length);
  33 }
  程序运行结果:
  1 初始化L后:L.length=0
  2
  3 Process returned 22 (0x16) execution time : 0.072 s
  4 Press any key to continue.
  有个问题,在函数内部 L->length=0; 使用箭头,而在外面调用的时候 L.length 却用实心点,两者有啥区别吗?
  这个很基础嘛。。。在函数内部,传递的参数是 *L,那么L就是指针。指针需要用->指向成员。而在外部的L是实体对象,实体对象则用实心点来指向成员嘛。
  OK,线性表的初始化就这么简单。
全部回答
Status init_list(CmcLinearList &io_c_l, int listsize)
//构造一个空链表,成功返回OK
{
if (listsize<=0)
listsize = LIST_INIT_SIZE;
io_c_l.elem = (ElemType*)malloc(sizeof(ElemType) * LIST_INIT_SIZE);
if (io_c_l.elem==NULL)
return ERROR;
io_c_l.length = 0;
io_c_l.listsize = listsize;
return OK;
}
主要是分配对应的空间追问线性表的定义和初始化有什麽区别啊追答定义是指
class CmcLinearList
{
public:
ElemType *elem; //储存空间基址
int length;//当前长度
int listsize; //当前分配的容量
friend Status operator==(CmcLinearList a, CmcLinearList b);
//重载比较运算符,相等返回TRUE,否则返回FALSE
//注意:不一定是每一位对应相等
};
说明线性表的这种结构体包含什么东西
初始化时针对它的一个实例,进行使用前的分配内存和初始化变量追问io_c_l.elem = (ElemType*)malloc(sizeof(ElemType) * LIST_INIT_SIZE);
这句话是什麽意思呢?谢谢追答是指为elem指针分配了 以ElemType的大小为单位的 LIST_INIT_SIZE 个内存
malloc()函数是用来分配内存的追问非常感谢
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
草字头一个晶是什么字
机油全合成什么意思,全合成机油的型号有哪些
下列各物质的名称、俗称、化学式(或主要成分
壳牌劲霸红桶18升柴机油2OW一5O一桶多少钱?
什么XP声卡驱动最好
数码宝贝4里为什么敌方十斗士是数码兽而剩下5
本溪明西电取暖的房子,47平,四楼正房双阳结
谁知道胡宇崴的家庭住址啊?我想送胡宇崴点礼
二胡演奏遇连续几个相同音怎么拉
朋友在乡下出了交通事故该如何处理
艾开头的诗句,有谁知到描写古居诗句
卡地亚螺纹戒指一共几个图案
单选题关于平抛运动的性质,以下说法中正确的
关于冬天写景的诗句,烘托人物的北京冬天景物
古典供给曲线为何垂直? 何种机制确保古典情
推荐资讯
冰箱速冻开关开几档a才为速冻
公务员考试考前必看申论必备:如何做好应用文
如何提高演讲时的激情和幽默感?
I’m sure I can improve in spoken English
姑娘,变美是一辈子的事,任何时候都不要放弃
有一本小说是养成宠文男主角是军官
一首外国MV男主角爱上自己朋友的女朋友
失业人员怎样办理退休
如果我被一所学校录取并且提了档,但我不想上
女人老是玩消失怎么办
我要成为内心强大的人 日语怎么说?
鼻子老破 好几年了 现在什么都不干都破
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?