函数形参Sqlist &L和Sqlist L的区别?
严蔚敏版的数据结构中如下代码:
结构体SqList的定义如下:
struct SqList
{
ElemType *elem; //存储空间基址
int length; //长度
int listsize //当前分配存储容量
};
有两个函数如下:
1.void InitList(SqList &L) //构建一个空的顺序线性表
{
L.elem=(ElemType*)malloc(LIST_INIT_SIZE sizeof(ElemType));
if(!L.elem) //存储分配失败
exit(OVERFLOW);
L.length=0;
L.listsize=LIST_INIT_SIZE; //初始存储容量
}
2.Status GetElem(SqList L,int i,ElemType &e) //用e返回第i个数据元素值
{
if(i<1||i>L.length) //i不在表L的范围之内
return ERROR;
e=*(L.elem+i-1); //将表L的第i个元素给e
return OK;
}
两个函数的形参SqList &L和SqList L相差&有什么区别呢?两个函数中的L好像都是结构体,SqList &L中的L并不是指向SqList的指针,因为L.length这个形式不是L->length这个形式?
结构体SqList的定义如下:
struct SqList
{
ElemType *elem; //存储空间基址
int length; //长度
int listsize //当前分配存储容量
};
有两个函数如下:
1.void InitList(SqList &L) //构建一个空的顺序线性表
{
L.elem=(ElemType*)malloc(LIST_INIT_SIZE sizeof(ElemType));
if(!L.elem) //存储分配失败
exit(OVERFLOW);
L.length=0;
L.listsize=LIST_INIT_SIZE; //初始存储容量
}
2.Status GetElem(SqList L,int i,ElemType &e) //用e返回第i个数据元素值
{
if(i<1||i>L.length) //i不在表L的范围之内
return ERROR;
e=*(L.elem+i-1); //将表L的第i个元素给e
return OK;
}
两个函数的形参SqList &L和SqList L相差&有什么区别呢?两个函数中的L好像都是结构体,SqList &L中的L并不是指向SqList的指针,因为L.length这个形式不是L->length这个形式?
...全文
相关推荐
数据结构实现下列函数:void InsertSort(SqList &L);
试以L.r[k+1]作为监视哨改写教材10.2.1节 中给出的直接插入排序算法。其中,L.r[1..k]为待排 序记录且k<MAXSIZE。 实现下列函数: void InsertSort(SqList &L);
SqList.cpp
编程实现顺序表的基本操作函数。 (1) void InitList(SqList &L, int n) //建立一个表长为n的顺序表 (2) void ListInsert(SqList &L, int i, ElemType e) //在顺序表中第i个位置插入元素函数e (3) void ListDelete(SqList&L, int i, ElemType &e) //删除顺序表L的第i个数据元素,并用e返回其值。 (4) void PrintList(SqList L) // 输出顺序表 (5) int Locate(SqList L, ElemType e) //若顺序表L中存在数据元素e,则返回e在顺序表L中第一次出现的位序;否则返回0. (6) int ListLength(SqList L) //求顺序表L的表长
数据结构教程(第三版)课后答案.
数据结构教程(第三版)课后实验答案,word文档
数据结构题集答案2.11② 设顺序表L中的数据元素递增有序。
2.11② 设顺序表L中的数据元素递增有序。 试写一算法,将x插入到L的适当位置上,并保 持该表的有序性。
SQList数据库之基础
SQList数据库


