typedef int ElemType;
typedef struct LinkNode_s
{
ElemType data;
struct LinkNode_s *next;
}LinkNode_t, *LinkNode_p;
//创建链表(带头结点)
LinkNode_t *CreateLink(void)
{
LinkNode_t *p = NULL;
p = (LinkNode_t *)malloc(sizeof(LinkNode_t));
if (p == NULL) {
printf("%s %d, ERROR: malloc failed\n", __FUNCTION__, __LINE__);
return NULL;
}
p->data = 0;
p->next = NULL;
return p;
}
//插入元素(表尾插入)
int InsertLink(LinkNode_t *pLinkNode, ElemType data)
{
if (pLinkNode == NULL) {
printf("%s %d, ERROR: malloc failed\n", __FUNCTION__, __LINE__);
return -1;
}
LinkNode_t *pNew = NULL;
pNew = (LinkNode_t*)malloc(sizeof(LinkNode_t));
if (pNew == NULL) {
printf("%s %d, ERROR: malloc failed\n", __FUNCTION__, __LINE__);
return -1;
}
pNew->data = data;
while(pLinkNode->next) {
pLinkNode = pLinkNode->next;
}
pLinkNode->next = pNew;
pNew->next = NULL;
return 0;
}
//打印链表所有成员
int PrintLink(LinkNode_t *pLinkNode)
{
if (pLinkNode == NULL) {
printf("%s %d, ERROR: malloc failed\n", __FUNCTION__, __LINE__);
return -1;
}
while (pLinkNode->next) {
pLinkNode = pLinkNode->next;
printf("%d", pLinkNode->data);
}
printf("\n");
return 0;
}
09-26
09-26