1.链表的简单结构:
头指针(head),若干个节点(节点包括了数据域和指针域),最后一个节点要指向空。
2.实现原理:头指针指向链表的第一个节点,然后第一个节点中的指针指向下一个节点,然后依次指到最后一个节点,这样就构成了一条链表。
3.链表的数据结构
typedef struct node
{
void*data;//数据域
struct node* pNext;//指针
}NODE_T;
4.链表的相关函数
extern NODE_T* pHead;
NODE_T* List_init(void* pData)//初始化链表
{
NODE_T* pHead = (NODE_T*)malloc(sizeof(NODE_T));//分配内存空间
memset(pHead,0,sizeof(NODE_T));//清空
//当头指针为空
if(NULL==pHead)
{
printf("error\n");
}
else
{
pHead->data = pData;//指向数据域
pHead->pNext = NULL;//下一个阶段指向为空
}
return pHead;
}
NODE_T* List_add(void* data,NODE_T* head)//增加链表节点
{
NODE_T* pTmp;
NOED_T* newNode = (NODE_T*)malloc(sizeof(NODE_T));
memset(newNode,0,sizeof(NODE_T));//清空
newNode ->data = data;//添加赋值
if(head==NULL)//头节点为空
{
he