C++编程问题求教

#include<stdio.h>#include<malloc.h>typedefcharElemType;typedefstructNode{ElemTypedata... #include<stdio.h>
#include<malloc.h>

typedef char ElemType;

typedef struct Node
{
ElemType data;
struct Node *next;
}Node,*LinkList;
void printList(LinkList H)
{
Node *p=H->next;

while(p!=NULL)
{
printf("%c ",p->data);
p=p->next;
}
}

void InitList(LinkList *L)
{
*L=(LinkList)malloc(sizeof(Node));
(*L)->next=NULL;
}
void InsList(LinkList L,int i,ElemType e)
{
Node *p,*s;
int k;
if(i<=0) return;
p=L;k=1;
if (p->next==NULL || i==1)
{
s=(LinkList )malloc(sizeof(Node));
s->data=e;
s->next=NULL;

p->next=s;
p=s;
}
else
{
p=L->next;
while (k<i-1 && p->next!=NULL)
{
k++;
p=p->next;
}
if(!p)
{
printf("插入位置不合理!");
return;
}
s=(Node *)malloc(sizeof(Node));
s->data=e;
s->next=NULL;
p->next=s;
p=s;
return;
}
}
void get_len(struct Node *LinkList)
{
struct Node *p=LinkList->next;
int len=0;
while(p)
{
len++;
p=p->next;
}
LinkList->data=len;
}
Node *Get(LinkList L, int i)
{
int j;
Node *p;
if(i<=0)
return NULL;
p=L;j=0;
while((p->next!=NULL)&&j<i)
{
p=p->next;
j++;
}
if(i==j)
{
printList(p);
return p;
}
else
return NULL;
}

void main()
{
LinkList H;
InitList(&H);
InsList(H,1,'a');
InsList(H,2,'b');
InsList(H,3,'c');
InsList(H,4,'d');
InsList(H,5,'e');
printList(H);
get_len(H);
Node *Get(LinkList H,3);

return ;
}
C:\Users\Administrator\Desktop\lab2_2.cpp(119) : error C2059: syntax error : 'constant'
求怎么改
展开
 我来答
8262821
推荐于2016-08-25 · TA获得超过532个赞
知道答主
回答量:272
采纳率:0%
帮助的人:66.7万
展开全部
#include<stdio.h>
#include<malloc.h>

//typedef char ElemType;

typedef struct Node
{
// ElemType data;
char data;
struct Node *next;
}Node,*LinkList;

void printList(LinkList H)
{
Node *p=H->next;

while(p!=NULL)
{
printf("%c ",p->data);
p=p->next;
}
}

void InitList(LinkList *L)
{
*L=(LinkList)malloc(sizeof(Node));
(*L)->next=NULL;
}
void InsList(LinkList L,int i,char e)
{
Node *p,*s;
int k;
if(i<=0) return;
p=L;k=1;
if (p->next==NULL || i==1)
{
s=(LinkList )malloc(sizeof(Node));
s->data=e;
s->next=NULL;

p->next=s;
p=s;
}
else
{
p=L->next;
while (k<i-1 && p->next!=NULL)
{
k++;
p=p->next;
}
if(!p)
{
printf("插入位置不合理!");
return;
}
s=(Node *)malloc(sizeof(Node));
s->data=e;
s->next=NULL;
p->next=s;
p=s;
return;
}
}
void get_len(struct Node *LinkList)
{
struct Node *p=LinkList->next;
int len=0;
while(p)
{
len++;
p=p->next;
}
LinkList->data=len;
}
void Get(LinkList L, int i)
{
int j;
Node *p;
if(i<=0)
return ;
p=L;j=0;
while((p->next!=NULL)&&j<i)
{
p=p->next;
j++;
}
if(i==j)
{
printList(p);
///return p;
}
else
return ;
}

void main()
{
LinkList H;
InitList(&H);
InsList(H,1,'a');
InsList(H,2,'b');
InsList(H,3,'c');
InsList(H,4,'d');
InsList(H,5,'e');
printList(H);
get_len(H);
Get( H,3);

return ;
}

改成这样了。输出是 a b c d e
你是刚开始学数据结构的链表,有问题多问人非常好。
elemtype是数据结构书中的“伪代码”,不能直接用,它不是数据类型。
如果你觉得elemtype应该是int就写int,应该是char就是char。
建议你在CSDN上申请一个帐号,那样提问解决编程问题可能更快。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式