C语言的大侠们,紧急速求!!!这段程序void CreateList(Sqlist &L)这句说明语法错误,如何改!跪求!
/*已知一个非纯集合B,试构造一个纯集合A,使A中只包含B中所有值各不相同的数据元素。*//*算法:逐个比较。将B表的第一个元素存入A表,然后用B表的每一个元素逐个和A表...
/*已知一个非纯集合 B,试构造一个纯集合 A,使 A中只包含 B 中所有值各
不相同的数据元素。*/
/*算法:逐个比较。将B表的第一个元素存入A表,然后用B表的每一个元素逐个
和A表中的元素进行比较,相等的元素不存入A表,不相等的元素存入A表*/
#include <stdio.h>
#include <stdlib.h>
typedef int ElemType; /* 定义元素类型 */
#define Max 100
#define Increment 10
typedef struct
{
ElemType *elem; /* 定义存储空间的基地址 */
int length; /* 定义表的长度 */
int listsize; /* 定义空间容量 */
}Sqlist; /* 定义顺序存储结构 */
Sqlist InitList() /* 初始化顺序表 */
{
Sqlist L;
L.elem=(ElemType *)malloc(Max*sizeof(ElemType));
/* 使用malloc()申请空间,空间大小是Max*sizeof(ElemType)个字节,共Max个单元 */
if(!L.elem)
exit(!0); /* 判断申请空间是否成功,如失败,则返回;否则开辟空间成功 */
/* exit(int status)功能是结束程序,status用来保存调用进程的出口状态, */
/* 一般的,0表示正常退出,非0表示发生错误。 */
L.length=0;
L.listsize=Max;
return L;
}
void CreateList(Sqlist &L) /* 创建顺序表 */
{
int i,number; /* 元素的个数是number个 */
printf("\n请输入顺序表的元素的个数:");
scanf("%d",&number);
printf("\n创建顺序表:");
for(i=1;i<=number;i++)
{
printf("\n请输入第%d个元素的值:",i);
scanf("%d",&L.elem[i-1]);
}
L.length=number;
}
void GetElem(Sqlist L,int i,ElemType &e)
/* 用e返回L中第i个元素的值 */
{
if(!L.elem)
exit(!0); /* 判断L是否存在,若不存在,操作失败;否则,可以进行操作 */
if(i>=1&&i<=L.length)
e=L.elem[i-1]; /* 取元素 */
}
int Equal(Sqlist L,ElemType e)
/* 在L表中检测与e值相等的元素,若有,返回1;否则返回0 */
{
int i=0;
while(i<L.length)
{
if(e!=L.elem[i])i++;
else
return 1;
}
return 0;
}
void Insert(Sqlist &L,int i,ElemType e)
/* 在表L中的第i个位置插入元素e */
{
L.elem[i-1]=e;
L.length++;
}
void Union(Sqlist &La,Sqlist Lb)
/* 在非纯集合Lb转化为纯集合La */
{
int i,k=1;
ElemType e;
La.elem[0]=Lb.elem[0];
La.length=1;
for(i=1;i<=Lb.length;i++)
{
GetElem(Lb,i,e);
if(!Equal(La,e))
Insert(La,++k,e);
}
}
void Print(Sqlist L) /* 输出顺序表 */
{
int i=0;
while(i<=L.length-1)
printf("%3d",L.elem[i++]);
}
void main()
{
Sqlist La,Lb;
Lb=InitList();
La=InitList();
CreateList(Lb);
printf("\n输出Lb顺序表:");
Print(Lb);
Union(La,Lb);
printf("\n输出La顺序表:");
Print(La);
printf("\n");
} 展开
不相同的数据元素。*/
/*算法:逐个比较。将B表的第一个元素存入A表,然后用B表的每一个元素逐个
和A表中的元素进行比较,相等的元素不存入A表,不相等的元素存入A表*/
#include <stdio.h>
#include <stdlib.h>
typedef int ElemType; /* 定义元素类型 */
#define Max 100
#define Increment 10
typedef struct
{
ElemType *elem; /* 定义存储空间的基地址 */
int length; /* 定义表的长度 */
int listsize; /* 定义空间容量 */
}Sqlist; /* 定义顺序存储结构 */
Sqlist InitList() /* 初始化顺序表 */
{
Sqlist L;
L.elem=(ElemType *)malloc(Max*sizeof(ElemType));
/* 使用malloc()申请空间,空间大小是Max*sizeof(ElemType)个字节,共Max个单元 */
if(!L.elem)
exit(!0); /* 判断申请空间是否成功,如失败,则返回;否则开辟空间成功 */
/* exit(int status)功能是结束程序,status用来保存调用进程的出口状态, */
/* 一般的,0表示正常退出,非0表示发生错误。 */
L.length=0;
L.listsize=Max;
return L;
}
void CreateList(Sqlist &L) /* 创建顺序表 */
{
int i,number; /* 元素的个数是number个 */
printf("\n请输入顺序表的元素的个数:");
scanf("%d",&number);
printf("\n创建顺序表:");
for(i=1;i<=number;i++)
{
printf("\n请输入第%d个元素的值:",i);
scanf("%d",&L.elem[i-1]);
}
L.length=number;
}
void GetElem(Sqlist L,int i,ElemType &e)
/* 用e返回L中第i个元素的值 */
{
if(!L.elem)
exit(!0); /* 判断L是否存在,若不存在,操作失败;否则,可以进行操作 */
if(i>=1&&i<=L.length)
e=L.elem[i-1]; /* 取元素 */
}
int Equal(Sqlist L,ElemType e)
/* 在L表中检测与e值相等的元素,若有,返回1;否则返回0 */
{
int i=0;
while(i<L.length)
{
if(e!=L.elem[i])i++;
else
return 1;
}
return 0;
}
void Insert(Sqlist &L,int i,ElemType e)
/* 在表L中的第i个位置插入元素e */
{
L.elem[i-1]=e;
L.length++;
}
void Union(Sqlist &La,Sqlist Lb)
/* 在非纯集合Lb转化为纯集合La */
{
int i,k=1;
ElemType e;
La.elem[0]=Lb.elem[0];
La.length=1;
for(i=1;i<=Lb.length;i++)
{
GetElem(Lb,i,e);
if(!Equal(La,e))
Insert(La,++k,e);
}
}
void Print(Sqlist L) /* 输出顺序表 */
{
int i=0;
while(i<=L.length-1)
printf("%3d",L.elem[i++]);
}
void main()
{
Sqlist La,Lb;
Lb=InitList();
La=InitList();
CreateList(Lb);
printf("\n输出Lb顺序表:");
Print(Lb);
Union(La,Lb);
printf("\n输出La顺序表:");
Print(La);
printf("\n");
} 展开
2012-04-29
展开全部
void CreateList(Sqlist &L) /* 创建顺序表 */ 说明语法错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询