SqList * L是一个指针 它存储的是地址 而&L得到的是线性表的地址 所以在主函数调用InitList这个函数时是:InitList(&L);而这个函数在声明的时候这样就可以了:void InitList(SqList* L);
void InitList(SqList &L)InitList 函数是初始化链表 前面 的& 是说 参说 L 是以 引用方式调用 初始化链表当然需要对参数做修改 应该使用引用或者指针形式的参数,引用形式的参数更加安全 引用形式的参数只有c++ 才可以 如果是在c程序里就要使用指针形式的参数 void InitList(SqList *L)...
SqListvoid InitList(SqList *L)//初始化函数 L->elem=(int*)malloc(100*sizeof(int)) if(!(L->elem)) exit(0) L->length=0 L->listsize=100int ListInsert(SqList *L,int i,int e) int newbase,*q,*p if(iL->length+1) return 0...
&的意思是对线性表(你是在学数据结构吧……)直接进行操作,否则的话是相当于把原来的表复制一份,再对复制品操作。初始化的话肯定要对原表操作啦,要加&的。
大佬们,为什么顺序表..大佬们,为什么顺序表初始化表函数定义为void InitList(SqList & L),而销毁线性表为void DestroyList(SqList L),里面的&L和L有什么区别吗
typedef struct{int elem;}List;void MergeList(List La ,List Lb ,List &Lc ){int i,j,k;InitList(Lc);i=j=1;k=0;La_len = ListLength(La);Lb_len = ListLength(Lb);while ((i 扫码下载作业帮搜索答疑一搜即得 答案解析 查看更多优质解析解答一 举报#include...
voidInitList(SqList&L){//初始化顺序表L L.length=0; } voidDestroyList(SqList&L){//销毁顺序表L,此处没有具体实现 } intGetLength(SqListL){//求长度 returnL.length; } voidCreateList(SqList&L,ElemTypea[],intn){//整体创建顺序表L
ADTList{ 数据对象:D={ai|1≤i≤n,n≥0,ai为ElemType类型}数据关系:R={<ai,ai+1>|ai,ai+1∈D,i=1,…,n-1}基本运算:1.InitList(&L);2.DestroyList(&L);3.ListEmpty(L);这些操作只是线性表的一些4.ListLength(L);常用的基本操作,可以用它5.DispList(L);们实现更复杂的操作6.GetElem(L...
{ int a,b,t; scanf("%d,%d",&a,&b); t=a; a=b; b=t; printf(“a=%d,b=%d\n”,a,b); return 0; } 救命啊,小白求救 分享241 c语言吧 星海群♬耀 大佬们,为什么顺序表初始化表函数定义为void InitList(SqList & L),而销毁线性表为void DestroyList(SqList L),里面的&L和L有什么...
}status initlist(sqlist *l){\x05(*l).elem=(ElemType*)malloc(list_init_size*sizeof(ElemType));\x05if(!(*l).elem)\x05\x05exit(OVERFLOW);\x05(*l).length=0;\x05(*l).listsize=list_init_size;\x05return OK;}status getelem(sqlist l,int i,ElemType *e){ if(il.length)...