#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include "CircleLinkList.h"
typedef struct PERSON
{
CircleLinkNode node;
char name[64];
int age;
int score;
}Person;
void Myprint(CircleLinkNode *data)
{
Person *p=(Person*)data;
printf("Name:%s,Age:%d,Score:%d\n",p->name,p->age,p->score);
}
int MyCompare(CircleLinkNode *data1,CircleLinkNode *data2)
{
Person *p1=(Person*)data1;
Person *p2=(Person*)data2;
if(strcpy(p1->name,p2->name)==0&&p1->age==p2->age&&p1->score==p2->score)
{
return CIRCLELINKLINK_TRUE;
}
else{
return CIRCLELINKLINK_FALSE;
}
}
void test01()
{
CircleList *list= Init_LinkList();
//创建数据
Person p1,p2,p3,p4;
strcpy(p1.name,"ggj");
strcpy(p2.name,"zqx");
strcpy(p3.name,"wjy");
strcpy(p4.name,"lx");
p1.age=22;
p2.age=23;
p3.age=21;
p4.age=21;
p1.score=100;
p2.score=98;
p3.score=96;
p4.score=94;
//插入
Insert_CircleLinkList(list,0,(CircleLinkNode*)&p1);
Insert_CircleLinkList(list,0,(CircleLinkNode*)&p2);
Insert_CircleLinkList(list,0,(CircleLinkNode*)&p3);
Insert_CircleLinkList(list,0,(CircleLinkNode*)&p4);
//打印
Print_CircleLinkList(list,Myprint);
int size=Size_CircleLinkList(list);
printf("链表长度:%d\n",size);
CircleLinkNode *node=Front_CircleLinkLint(list);
Person* a=(Person*)node;
printf("首结点数据为\n");
printf("Name:%s,Age:%d,Score:%d\n",a->name,a->age,a->score);
PressSpace_CircleLinkList(list);
}
int main(void)
{
test01();
system("pause");
return 0;
}
完善中。。。。。。