线性表基本操作
今天开始重新复习数据库,从基础的开始
#include<stdio.h>
#define MAXSIZE 20
typedef BOOL status
typedef int ElemType
typedef struct
{
ElemType data[MAXSIZE];
int length;
}SqList//定义线性表的数据结构
status InitList(SqList *L)
{
L->length=0;
return TRUE;
}//初始化操作
status ListEmpty(SqList *L)
{
if(L->length==0)
return TRUE;
else
return FALSE;
}//判断是否为空
status InsertList(SqList *L,ElemType e,int k)
{
if(L->length==MAXSIZE)
{ printf("The length of list has be the max ");
return FALSE;
}
if(k<0||k>L->length+1)
{
return FALSE;
}
else
{
for(int i=L->length-1;i>=k-1;i--)
{
L->data[i+1]=L->data[i];
}
L->data[k]=e;
L->length++;
return TURE;
}
}//插入元素
int main()
{
SqList *La;
status t;
t=InitList(La);
for (int i=0;i<6;i++)
{
t=InsetList(La,i,i+1) ;
}
for(int i=0;i<La->length;i++)
{
printf("%d\n",La->data[i]);
}
printf("%d",t);
}
这样写完后内存报错,La指针是一个空指针,没有指向任何实体。定义指针时必须指向一个实体即一个实际的内存。定义一个普通对象时,系统会为它分配内存空间
因此这样改SqList Lb;
SqList *La=&Lb;
或 SqList La;下面参数改为&La
11.27

浙公网安备 33010602011771号