| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 579 人关注过本帖
标题:就一个错误,改不出来,求高手没事的时候看一看
只看楼主 加入收藏
tolin
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2004-11-18
收藏
 问题点数:0 回复次数:2 
就一个错误,改不出来,求高手没事的时候看一看

Status InitList_CL (LinkList *L) { *L=(LinkList)malloc(sizeof(struct LNode)); if(!*L) exit(OVERFLOW); (*L)->next=*L; return OK; }

Status DestroyList_CL(LinkList *L) { LinkList q,p=(*L)->next; while(p!=*L) { q=p->next; free(p); p=q; } free(*L); *L=NULL; return OK; }

Status ClearList_CL(LinkList *L) { LinkList p,q; *L=(*L)->next; p=(*L)->next; while(p!=*L) { q=p->next; free(p); p=q; } (*L)->next=*L; return OK; }

Status ListEmpty_CL(LinkList L) { if(L->next==L) return TRUE; else return FALSE; }

int ListLength_CL(LinkList L) { int i=0; LinkList p=L->next; while(p!=L) { i++; p=p->next; } return i; }

Status GetElem_CL(LinkList L,int i,ElemType *e) { int j=1; LinkList p=L->next->next; if(i<=0||i>ListLength_CL(L)) return ERROR; while(j<i) { p=p->next; j++; } *e=p->data; return OK; }

int LocateElem_CL(LinkList L,ElemType e,Status(*compare)(ElemType,ElemType)) { int i=0; LinkList p=L->next->next; while(p!=L->next) { i++; if(compare(p->data,e)) return i; p=p->next; } return 0; }

Status PriorElem_CL(LinkList L,ElemType cur_e,ElemType *pre_e) { LinkList q,p=L->next->next; q=p->next; while(q!=L->next) { if(q->data==cur_e) { *pre_e=p->data; return TRUE; } p=q; q=q->next; } return FALSE; }

Status NextElem_CL(LinkList L,ElemType cur_e,ElemType *next_e) { LinkList p=L->next->next; while(p!=L) { if(p->data==cur_e) { *next_e=p->next->data; return TRUE; } p=p->next; } return FALSE; }

Status ListInsert_CL(LinkList *L,int i,ElemType e) { LinkList p=(*L)->next,s; int j=0; if(i<=0||i>ListLength_CL(*L)+1) return ERROR; while(j<i-1) { p=p->next; j++; } s=(LinkList)malloc(sizeof(struct LNode)); s->data=e; s->next=p->next; p->next=s; if(p==*L) *L=s; return OK; }

Status ListDelete_CL(LinkList *L,int i,ElemType *e) { LinkList p=(*L)->next,q; int j=0; if(i<=0||i>ListLength_CL(*L)) return ERROR; while(j<i-1) { p=p->next; j++; } q=p->next; p->next=q->next; *e=q->data; if(*L==q) *L=p; free(q); return OK; }

Status ListTraverse_CL(LinkList L,void(*vi)(ElemType)) { LinkList p=L->next->next; while(p!=L->next) { vi(p->data); p=p->next; } printf("\n"); return OK; } main() { int i; STUDENT *head; head=init(); clrscr(); for(;;) { switch(menu_list()) { case 0:InitList_CL();break; case 1:DestroyList_CL();break; case 2:ClearList_CL();break; case 3:ListEmpty_CL();break; case 4:ListLength_CL();break; case 5:GetElem_CL();break; case 6:LocateElem_CL(); break; case 7:PriorElem_CL();break; case 8: NextElem_CL(); break; case 9:ListInsert_CL();break; case 10:ListDelete_CL();break; case 11:ListTraverse_CL();break; case 12:exit(0); } } menu_list() { char *menu[]={"*****************************", "char1. InitList_CL", "char2. DestroyList_CL", "char3. ClearList_CL", "char4. ListEmpty_CL", "char5. ListLength_CL", "char6. GetElem_CL", "char7. LocateElem_CL", "char8. PriorElem_CL", "char9. NextElem_CL", "char10. ListInsert_CL", "char11. ListDelete_CL", "char12. ListTraverse_CL", "char13. Quit"}; } } 

2004-11-22 22:05
mingyue
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2004-5-13
收藏
得分:0 

你还没定义结构体呢


2004-11-22 22:23
tolin
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2004-11-18
收藏
得分:0 
什么意思?
2004-11-22 22:39
快速回复:就一个错误,改不出来,求高手没事的时候看一看
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023335 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved