您的位置:首页 > 其它

C实现链表的算法

2012-04-12 16:49 183 查看
#include <cstdio>

#include <cstdlib>

typedef struct tagNODE // 链表的数据结构

{

int data;

struct tagNODE *next;

}NODE_t;

void insertNode(NODE_t **pHead, int dat) // 插入数据

{

NODE_t *pNode;

if(NULL == (pNode = (NODE_t *)malloc(sizeof(NODE_t))))

{

return;

}

pNode->data = dat;

pNode->next = *pHead;

*pHead = pNode;

}

void ShowLinkTable(NODE_t *pHead) // 打印数据

{

while(NULL != pHead)

{

printf("%d ", pHead->data);

pHead = pHead->next;

}

}

void destroyLink(NODE_t **pHead) // 删除链表

{

NODE_t *pNode;

while(NULL != *pHead)

{

pNode = *pHead;

*pHead = (*pHead)->next;

free(pNode);

}

}

int main(int argc, char* argv[])

{

NODE_t *Head1 = NULL;

NODE_t *Head2 = NULL;

insertNode(&Head1, 1);

insertNode(&Head2, 2);

insertNode(&Head1, 3);

insertNode(&Head2, 4);

ShowLinkTable(Head1);

ShowLinkTable(Head2);

destroyLink(&Head1);

destroyLink(&Head2);

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐