企业链表中将信息单独成为一个节点,然后将next信息,单独分配,这样的话就像一个衣架的挂钩一样,使得链表上的操作可以更加高效和灵活。
#include<iostream>
#include<iomanip>
#pragma warning (disable:4996)
using namespace std;
//链表节点
typedef struct LINKNODE
{
LINKNODE* next;
}Linknode;
typedef struct LINKLIST
{
LINKNODE head;
int size;
}LinkList;
typedef struct PERSON
{
Linknode node;//类似一个挂钩
char name[64];//偏移量在地下
int age;//偏移量
}Person;
void Myprint(Linknode* data )
{
Person* p = (Person*)data;
cout << setw(4) << p->name;
cout << p->age << " ";
}
int cmp(Linknode* l1, Linknode* l2)
{
Person* p1 = (Person*)l1;
Person* p2 = (Person*)l2;
if (strcmp((p1->name), p2->name)==0 && p1->age == p2->age)
return 0;
else
return -1;
}
//编译函数指针
//比较函数指针
typedef