baidu_26778903 2015-03-22 06:07 采纳率: 0%
浏览 1789

一个数据结构 链表的问题

#include
#include
#include
typedef int ElemType;
typedef struct Node{
int data;
struct Node *next;
}NODE,*PNODE;
int main(void){
PNODE Head=NULL;//定义初始头结点
Head=creat_list();//初始建立链表
traversal_list(Head);//遍历输出链表
int len=length_list(Head);//计算链表长度
printf("输出链表的长度:\n");
sort_list(Head);//排序操作
traversal_list(Head);
insert_list(Head,3,2);//插入操作
traversal_list(Head);
delete_list(Head,3,2);//删除操作
traversal_list(Head);
return 0;

}
PNODE creat_list(void);
void traversal_list(PNODE Head);
void sort_list(PNODE Head);
int length_list(PNODE Head);
int insert_list(PNODE Head,int i,ElemType e);
int delete_list(PNODE Head,int i,ElemType e);
PNODE creat_list(void)//初始建立链表
{
int n,i;
PNODE q;
PNODE Head=(PNODE)malloc(sizeof(NODE));
if(Head==NULL){
printf("程序分配失败!\n");
exit(-1);
}
PNODE p=Head;
p->next=NULL;
printf("请输入链表的个数:");
scanf("%d",&n);
for(i=0;i q=(PNODE)malloc(sizeof(NODE));
if(q==NULL){
printf("结点新建分配失败!\n");
exit(-1);
}
p->next=q;
printf("输入元素的值:");
scanf("%d",q->data);
p=p->next;
q=q->next;
}
return Head;
}
void traversal_list(PNODE Head)//遍历输出链表
{
while(Head!=NULL){
printf("%d",Head->data);
Head=Head->next;
}
printf("\n");
}
int length_list(PNODE Head)//计算链表长度
{
PNODE p=Head->next;
int len=0;
if(p!=NULL){
len++;
p=p->next;
}
return len;
}
void sort_list(PNODE Head)//排序操作
{
int i,j,t;
int len=length_list(Head);
PNODE p,q;
for(i=0,p=Head->next;inext){
for(j=i+1,q=p->next;jnext){
if(p->data>q->data)
t=p->data;
p->data=q->data;
q->data=t;
}
}
}
int insert_list(PNODE Head,int i,ElemType e)//插入操作
{
int j;
PNODE p,s;
while(p&&j p=p->next;
++j;
}
while(!p&&j>i-1){return 0;}
s=(PNODE)malloc(sizeof(NODE));
s=p->next;
e=s->data;
s->next=p->next;
return 1;
}
int delete_list(PNODE Head,int i,ElemType e)//删除操作
{
int j;
PNODE p,q;
while(p->next&&j p=p->next;
++j;
}
while(!(p->next)&&j>i-1){return 0;}
q=(PNODE)malloc(sizeof(NODE));
q=p->next;
p->next=q->next;
e=q->data;
free(q);
return 1;
}

编译出来的问题:
error C2065: 'creat_list' : undeclared identifier
error C2440: '=' : cannot convert from 'int' to 'struct Node *'

error C2065: 'traversal_list' : undeclared identifier
error C2065: 'length_list' : undeclared identifier
error C2065: 'sort_list' : undeclared identifier

  • 写回答

1条回答 默认 最新

  • oyljerry 2015-03-22 06:22
    关注

    函数需要前置申明,或者函数定义放在调用的位置前面

    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置