以下是引用cacker在2011-2-16 14:20:51的发言:
链表 就是一个链子串起来的一堆数据 从头能找到尾 如果是双向链表 那也可以从尾找到头
每个结点 一般就3个 2条链子(指针) 1个数据(任意类型)
typedef struct tagNode
{
int *pPrev;
int *pNext;
int Data;
}NODE;
上边的结构体 就是一个结点的定义
这时你就可以把数据都串起来了 我随手给你写一个吧
NODE* AddNode(int Item)
{
NODE *pNew = (NODE*)malloc(sizeof(NODE));
memset(pNew, 0, sizeof(NODE)); //把结构体初始化为0
pNew->Data = Item;
if(m_pHead != NULL) //判断一下头结点是否为空 如果为空 证明链表为空
{
m_pTrail->m_pNext = pNew;
pNew->pPrev = m_pTrail;
m_pTrail = pNew;
}
else
{
m_pHead = m_pTail = pNew;
}
}
有可能不研究 但大概就是这个意思 好久没写。都不记得了 这玩应,最好是边写边调
11111111111111111111111111111111111111111111