链表库测试程序

调用动态库:属性-链接器-输入-项目,添加需要调用的动态库。

头文件:Mylinklist.h

#ifndef _MYMLINKLIST_H_
#define _MYMLINKLIST_H_


typedef void LinkList;


typedef struct _tag_LinkListNode
{
struct _tag_LinkListNode* next;
}LinkListNode;

LinkList* LinkList_Create();


void LinkList_Destroy(LinkList* list);


void LinkList_Clear(LinkList* list);


int LinkList_Length(LinkList* list);


int LinkList_Insert(LinkList* list, LinkListNode* node, int pos);


LinkListNode* LinkList_Get(LinkList* list, int pos);


LinkListNode* LinkList_Delete(LinkList* list, int pos);


#endif

测试程序:list.c

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include"Mylinklist.h"


 
typedef struct _Teacher
{
LinkListNode node;
int age;
char name[64];
}Teacher;


//void LinkList_Clear(LinkList* list);


//int LinkList_Length(LinkList* list);


//int LinkList_Insert(LinkList* list, LinkListNode* node, int pos);


//LinkListNode* LinkList_Get(LinkList* list, int pos);


//LinkListNode* LinkList_Delete(LinkList* list, int pos);




int  main()
{
int i=0;
LinkList* list=NULL;
list = LinkList_Create();
if (list == NULL)
{
return;
}
Teacher t1, t2, t3, t4, t5;
memset(&t1, 0, sizeof(Teacher));
memset(&t2, 0, sizeof(Teacher));
memset(&t3, 0, sizeof(Teacher));
memset(&t4, 0, sizeof(Teacher));
memset(&t5, 0, sizeof(Teacher));
t1.age = 1;
t2.age = 2;
t3.age = 3;
t4.age = 4;
t5.age = 5;



int ret = LinkList_Insert(list, (LinkListNode*)&t1, LinkList_Length(list));
int ret2 = LinkList_Insert(list, (LinkListNode*)&t2, LinkList_Length(list));
int ret3 = LinkList_Insert(list, (LinkListNode*)&t3, LinkList_Length(list));
int ret4 = LinkList_Insert(list, (LinkListNode*)&t4, LinkList_Length(list));
int ret5 = LinkList_Insert(list, (LinkListNode*)&t5, LinkList_Length(list));


int len = LinkList_Length(list);
for (i = 0; i < LinkList_Length(list); i++)

struct _Teacher *tmp = NULL;


tmp=(struct _Teacher *)LinkList_Get(list, i);
if (tmp != NULL)
{
printf("age:%d\n",tmp->age);
}
}
while (LinkList_Length>0)
{
struct _Teacher *tmp = NULL;
 
tmp=(struct _Teacher *)LinkList_Delete(list, 0);
if (tmp != NULL)
{
printf("age:%d\n", tmp->age);
}
}
LinkList_Destroy(list);
return 0;

}



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值