c++链表有关的问题
/*File:cas7.11A前插入创建链表.c【例7.11(p191/p180)】链表前插入应用示例――创建链表A*/#include<stdio.h>#include...
/* File: cas7.11A前插入创建链表.c 【例7.11(p191/p180)】链表前插入应用示例――创建链表A */
#include <stdio.h>
#include <stdlib.h>
#define NODE struct node
NODE
{
int val;
NODE *next;
}
NODE *CreateListA()
{
NODE *head; /* 首指针,初始为空链表 */
NODE *node; /* 当前需要插入的结点指针 */
int num; /* 输入的整数值 */
while(scanf("%d", &num) > 0) /* 获得输入值 */
{
if( (node=(NODE*)malloc(sizeof(NODE))) == NULL )
exit(0); /* 为新结点分配空间 */
node->val = num; /* 输入的数据存入结点 */
/* 前插入语句 */
node->next = head;
head = node;
/* 请设置断点,观察链表的首结点 */
}
return head; /* 返回首指针 */
}
void prt(NODE *first)
{
static int i=0;
NODE *node;
node=first;
if((first->next)!=NULL)
{
prt(first->next);
}
printf("node[%d]=%d\n",++i,node->val);
}
main()
{
NODE *first; /* 首指针 */ /* 临时结点指针 */
printf("【例7.11(p191/p180)】链表前插入应用示例――创建链表A\n");
printf("请输入整数[非整数表示结束]\n");
first = CreateListA();
printf("以下是链表中的数据:\n");
prt(first);
}
ompiling...
cas7.11A前插入创建链表.c
C:\Documents and Settings\user\桌面\程序设计题目\上机实习题13\cas7.11A前插入创建链表.c(12) : error C2236: unexpected 'struct' 'node'
执行 cl.exe 时出错.
这算什么问题啊。。。。求大神帮助。。。 展开
#include <stdio.h>
#include <stdlib.h>
#define NODE struct node
NODE
{
int val;
NODE *next;
}
NODE *CreateListA()
{
NODE *head; /* 首指针,初始为空链表 */
NODE *node; /* 当前需要插入的结点指针 */
int num; /* 输入的整数值 */
while(scanf("%d", &num) > 0) /* 获得输入值 */
{
if( (node=(NODE*)malloc(sizeof(NODE))) == NULL )
exit(0); /* 为新结点分配空间 */
node->val = num; /* 输入的数据存入结点 */
/* 前插入语句 */
node->next = head;
head = node;
/* 请设置断点,观察链表的首结点 */
}
return head; /* 返回首指针 */
}
void prt(NODE *first)
{
static int i=0;
NODE *node;
node=first;
if((first->next)!=NULL)
{
prt(first->next);
}
printf("node[%d]=%d\n",++i,node->val);
}
main()
{
NODE *first; /* 首指针 */ /* 临时结点指针 */
printf("【例7.11(p191/p180)】链表前插入应用示例――创建链表A\n");
printf("请输入整数[非整数表示结束]\n");
first = CreateListA();
printf("以下是链表中的数据:\n");
prt(first);
}
ompiling...
cas7.11A前插入创建链表.c
C:\Documents and Settings\user\桌面\程序设计题目\上机实习题13\cas7.11A前插入创建链表.c(12) : error C2236: unexpected 'struct' 'node'
执行 cl.exe 时出错.
这算什么问题啊。。。。求大神帮助。。。 展开
展开全部
#include <stdio.h>
#include <stdlib.h>
#define NODE struct node
NODE
{
int val;
NODE *next;
};
NODE *CreateListA()
{
NODE *head; /* 首指针,初始为空链表 */
head=(NODE*)malloc(sizeof(NODE));
head->next=NULL;
NODE *node; /* 当前需要插入的结点指针 */
int num; /* 输入的整数值 */
while(scanf("%d", &num) ,num>0) /* 获得输入值 */
{
if( (node=(NODE*)malloc(sizeof(NODE))) == NULL )
exit(0); /* 为新结点分配空间 */
node->val = num; /* 输入的数据存入结点 */
/* 前插入语句 */
node->next = head;
head = node;
/* 请设置断点,观察链表的首结点 */
}
return head; /* 返回首指针 */
}
void prt(NODE *first)
{
static int i=0;
NODE *node;
node=first;
if(node->next!=NULL)
{
printf("node[%d]=%d\n",++i,node->val);
prt(node->next);
}
}
main()
{
NODE *first; /* 首指针 */ /* 临时结点指针 */
printf("【例7.11(p191/p180)】链表前插入应用示例――创建链表A\n");
printf("请输入整数[非整数表示结束]\n");
first = CreateListA();
printf("以下是链表中的数据:\n");
prt(first);
}
//这个可以运行,望采纳。。。。。。。。。。。。。。
#include <stdlib.h>
#define NODE struct node
NODE
{
int val;
NODE *next;
};
NODE *CreateListA()
{
NODE *head; /* 首指针,初始为空链表 */
head=(NODE*)malloc(sizeof(NODE));
head->next=NULL;
NODE *node; /* 当前需要插入的结点指针 */
int num; /* 输入的整数值 */
while(scanf("%d", &num) ,num>0) /* 获得输入值 */
{
if( (node=(NODE*)malloc(sizeof(NODE))) == NULL )
exit(0); /* 为新结点分配空间 */
node->val = num; /* 输入的数据存入结点 */
/* 前插入语句 */
node->next = head;
head = node;
/* 请设置断点,观察链表的首结点 */
}
return head; /* 返回首指针 */
}
void prt(NODE *first)
{
static int i=0;
NODE *node;
node=first;
if(node->next!=NULL)
{
printf("node[%d]=%d\n",++i,node->val);
prt(node->next);
}
}
main()
{
NODE *first; /* 首指针 */ /* 临时结点指针 */
printf("【例7.11(p191/p180)】链表前插入应用示例――创建链表A\n");
printf("请输入整数[非整数表示结束]\n");
first = CreateListA();
printf("以下是链表中的数据:\n");
prt(first);
}
//这个可以运行,望采纳。。。。。。。。。。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#include <stdlib.h>
//#define NODE struct node
typedef struct node
{
int val;
struct node *next;
}NODE;
NODE *CreateListA()
{
NODE *head; /* 首指针,初始为空链表 */
NODE *node; /* 当前需要插入的结点指针 */
int num; /* 输入的整数值 */
while(scanf("%d", &num) > 0) /* 获得输入值 */
{
if( (node=(NODE*)malloc(sizeof(NODE))) == NULL )
exit(0); /* 为新结点分配空间 */
node->val = num; /* 输入的数据存入结点 */
/* 前插入语句 */
node->next=head;
head = node;
/* 请设置断点,观察链表的首结点 */
}
return head; /* 返回首指针 */
}
void prt(NODE *first)
{
static int i=0;
NODE *node;
node=first;
if((first->next)!=NULL)
{
prt(first->next);
}
printf("node[%d]=%d\n",++i,node->val);
}
main()
{
NODE *first; /* 首指针 */ /* 临时结点指针 */
printf("【例7.11(p191/p180)】链表前插入应用示例――创建链表A\n");
printf("请输入整数[非整数表示结束]\n");
first = CreateListA();
printf("以下是链表中的数据:\n");
prt(first);
}
这样编译没错。
#include <stdlib.h>
//#define NODE struct node
typedef struct node
{
int val;
struct node *next;
}NODE;
NODE *CreateListA()
{
NODE *head; /* 首指针,初始为空链表 */
NODE *node; /* 当前需要插入的结点指针 */
int num; /* 输入的整数值 */
while(scanf("%d", &num) > 0) /* 获得输入值 */
{
if( (node=(NODE*)malloc(sizeof(NODE))) == NULL )
exit(0); /* 为新结点分配空间 */
node->val = num; /* 输入的数据存入结点 */
/* 前插入语句 */
node->next=head;
head = node;
/* 请设置断点,观察链表的首结点 */
}
return head; /* 返回首指针 */
}
void prt(NODE *first)
{
static int i=0;
NODE *node;
node=first;
if((first->next)!=NULL)
{
prt(first->next);
}
printf("node[%d]=%d\n",++i,node->val);
}
main()
{
NODE *first; /* 首指针 */ /* 临时结点指针 */
printf("【例7.11(p191/p180)】链表前插入应用示例――创建链表A\n");
printf("请输入整数[非整数表示结束]\n");
first = CreateListA();
printf("以下是链表中的数据:\n");
prt(first);
}
这样编译没错。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
主程序NODE *first; /* 首指针 */ /* 临时结点指针 */
有问题
你是要调用node,而NODE = struct node,会重新定义一个node,有冲突
有问题
你是要调用node,而NODE = struct node,会重新定义一个node,有冲突
追问
那怎么改啊。。。这老师给的模版,我编写的是中间的递归部分。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是不是掉了一个分号
NODE
{
int val;
NODE *next;
};
NODE
{
int val;
NODE *next;
};
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
话说,NODE *node=struct node *node
有很大问题吧
有很大问题吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询