c语言中有关链表的头文件,头文件编写出错!!!!!!!

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

我把原文件贴出来吧.

这是.h:

# ifndef ZHOUFEILIST_H

# define ZHOUFEILIST_H

# define TRUE 1

# define FALSE 0

struct seqList

{ int MAXNUM;

int n;

DataType *element;

};

typedef struct seqList *PSeqList;

PSeqList CreateNullList_seq(int m);

int IsNullList_seq(PSeqList palist);

int Locate_seq(PSeqList palist,DataType x);

int InsertPre_seq(PSeqList palist,int p,DataType x);

int DeleteP_seq(PSeqList palist,int p);

struct Node;

typedef struct Node *PNode;

struct Node

{ DataType info;

PNode *link;

};

typedef struct Node *LinkList;

LinkList CreatNullList_link(void);

int IsNullLIst_link(LinkList llist);

PNode Locate_link(LinkList llist,DataType x);

int InsertPost_link(LinkList llist,PNode p,DataType x);

PNode LocatePre_link(LinkList llist,PNode p);

int DeleteV_link(LinkList llist,DataType x);

# endif

这是.c

#include "zhoufeilist.h"

#include 

PSeqList CreateNullList_seq(int m)

{ PSeqList palist=(PSeqList)malloc(sizeof(struct seqList));

if(palist!=NULL)

{ palist->element=(DataType *)malloc((sizeof(DataType))*m);

if(palist->element!=NULL)

{ palist->MAXNUM=m;

palist->n=0;

return (palist);

}

free(palist);

}

printf("out of space!!!\n");

return NULL;

}

int IsNullList_seq(PSeqList palist)

{ return(palist->n==0);

}

int Locate_seq(PSeqList palist,DataType x)

{ int q;

for(q=0;qn;q++)

if(palist->element[q]==x) return (q);

return (-1);

}

int InsertPre_seq(PSeqList palist,int p,DataType x)

{ int q;

if(palist->n>=palist->MAXNUM)

{ printf("overflow!!!\n");

return FALSE;

}

if(IsNullList_seq(palist))

{ palist->element[0]=x;

palist->n=1;

return TRUE;

}

if(p<0||p>palist->n)

{ printf("Not exist!!!\n");

return FALSE;

}

for(q=palist->n-1;q>=p;q--)

palist->element[q+1]=palist->element[q];

palist->element[p]=x;

palist->n=palist->n+1;

return TRUE;

}

int DeleteP_seq(PSeqList palist,int p)

{ int q;

if(p<0||p>palist->n-1)

{ printf("Not exist!!!\n");

return FALSE;

}

for(q=p;qn-1;q++)

palist->element[q]=palist->element[q+1];

palist->n=palist->n-1;

return TRUE;

}

LinkList CreatNullList_link(void)

{ LinkList llist=(LinkList)malloc(sizeof(struct Node));

if(llist!=NULL)

{ llist->link=NULL;

llist->info=0;

}

else printf("Out of space!!! \n");

return(llist);

}

int IsNullList_link(LinkList llist)

{ return(llist->link==NULL);

}

PNode Locate_link(LinkList llist,DataType x)

{ PNode p;

if(llist==NULL) return(NULL);

p=llist->link;

while(p!=NULL&&p->info!=x) p=p->link;

return(p);

}

int InsertPost_link(LinkList llist,PNode p,DataType x)

{ PNode q=(PNode)malloc(sizeof(struct Node));

if(q!=NULL)

{ q->info=x;

q->link=p->link;

p->link=q;

llist->info=llist->info+1;

return TRUE;

}

printf("Out of space!!!\n");

return FALSE;

}

PNode LocatePre_link(LinkList llist,PNode p)

{ PNode p1;

if(IsNullList_link) return(NULL);

p1=llist;

while(p1!=NULL&&p1->link!=p) p1=p1->link;

return(p1);

}

int DeletV_link(LinkList llist,DataType x)

{ PNode p,q,r;

p=llist;

if(p==NULL) return FALSE;

r=p->link;

while(r!=NULL&&r->info!=x)

{ p=p->link;

r=p->link;

}

if(p->link==NULL)

{ printf("Not exist!!!\n");

return FALSE;

}

else

{ q=p->link;

p->link=q->link;

free(q);

return TRUE;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值