TestLinkList.c文件
#include <stdio.h>
#include "LinkList.h"
void visit(DataType e)
{
printf("%d ", e);
}
int Equal(DataType a, DataType b)
{
return (a == b) ? 1 : 0;
}
int main()
{
int ret, i, p;
Link first; //struct node *first;
DataType e;
ret = InitLink(&first); //初始化链表
if (FAILURE == ret)
{
printf("Init Failure!\n");
}
else
{
printf("Init Success!\n");
}
for (i = 0; i < 5; i++)
{
ret = InsertLink(first, i + 1, i + 1); //插入数据
if (FAILURE == ret)
{
printf("Insert %d Failure!\n", i + 1);
}
else
{
printf("Insert %d Success\n", i + 1);
}
}
ret = EmptyLink(first); //判断链表是否为空
if (SUCCESS == ret)
{
printf("Link is Empty!\n");
}
else
{
printf("Link is not Empty!\n");
}
ret = TraverseLink(first, visit); //遍历链表,参数通过函数指针传入
if (FAILURE == ret)
{
printf("Traverse Failure!\n");
}
else
{
printf("\nTraverse Success!\n");
}
printf("Link Length %d\n", LengthLink(first)); //获取链表的长度
p = 1;
ret = GetElem(first, p, &e); //获取元素
if (FAILURE == ret)
{
printf("Get %dth Elem Failure!\n", p);
}
else
{
printf("%dth Elem is %d\n", p, e);
}
e = 1;
ret = LocateElem(first, e, Equal); //查找元素
if (FAILURE == ret)
{
printf("Elem %d no