Chinaunix首页 | 论坛 | 博客
  • 博客访问: 735186
  • 博文数量: 769
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 4985
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:37
文章分类

全部博文(769)

文章存档

2011年(1)

2008年(768)

我的朋友

分类:

2008-10-15 16:39:35

 
/*@file listtest.c */
/*单链表构造表list*/
/*mingGW编译OK*/
#include "allhead.h"
#include "list.h"
#include "fun.h"

void main()
{
LinkList L;
ElemType e,e0;
Status i;
int j,k;
InitList(&L);
for(j=1;j<=5;j++)
i=ListInsert(L,1,j);
printf("1.L的表头依次插入1~5后:L=");
ListTraverse(L,print); /* 依次对元素调用print(),输出元素的值 */
i=ListEmpty(L);
printf("2.L是否空:i=%d(1:是 0:否)\n",i);
ClearList(L);
printf("3.L清空后:L=");
ListTraverse(L,print);
i=ListEmpty(L);
printf("5.L是否空:i=%d(1:是 0:否)\n",i);
for(j=1;j<=10;j++)
ListInsert(L,j,j);
printf("6.L的表尾依次插入1~10后:L=");
ListTraverse(L,print);
GetElem(L,5,&e);
printf("7.L第5个元素的值为:%d\n",e);
for(j=0;j<=1;j++)
{
k=LocateElem(L,j,equal);
if(k)
printf("8.L第%d个元素的值为%d\n",k,j);
else
printf("8.L没有值为%d的元素\n",j);
}
for(j=1;j<=2;j++) /* 头两个数据 */
{
GetElem(L,j,&e0); /* 把第j个数据赋给e0 */
i=PriorElem(L,e0,&e); /* 求e0的前驱 */
if(i==INFEASIBLE)
printf("9.L元素%d无前驱\n",e0);
else
printf("9.L元素%d的前驱为:%d\n",e0,e);
}
for(j=ListLength(L)-1;j<=ListLength(L);j++) /* 最后两个数据 */
{
GetElem(L,j,&e0); /* 把第j个数据赋给e0 */
i=NextElem(L,e0,&e); /* 求e0的后继 */
if(i==INFEASIBLE)
printf("10.L元素%d无后继\n",e0);
else
printf("10.L元素%d的后继为:%d\n",e0,e);
}
k=ListLength(L); /* k为表长 */
for(j=k+1;j>=k;j--)
{
i=ListDelete(L,j,&e); /* 删除第j个数据 */
if(i==ERROR)
printf("11.L删除第%d个元素失败\n",j);
else
printf("11.L删除第%d个元素成功,其值为:%d\n",j,e);
}
printf("12.L依次输出L的元素:");
ListTraverse(L,print);
DestroyList(&L);
printf("13.L销毁L后:L=%u\n",L);
}

/**************************************************************/

#include "fun.h"

#include "fun.h"
--------------------next---------------------

阅读(518) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~