typedef struct node
{
node *next; /* pointer to next element in list */
char data;
}node, *pnode, **ppnode; // define two types
// create an empty node
pnode list_createNullNode()
{
pnode p1;
if (p1 = (pnode)malloc(sizeof(node)))
{
p1->next = NULL;
}
return p1;
}
// create a node with data
pnode list_createNode(char c)
{
pnode p1;
if (p1 = (pnode)malloc(sizeof(node)))
{
p1->data = c;
p1->next = NULL;
}
return p1;
}
// delete head
void list_removeHead(node **p)
{
pnode n = *p;
if (*p == NULL) return;
*p = (*p)->next;
free(n);
}
// delete the tail
void list_removeTail(node **p)
{
pnode n = *p;
if (*p == NULL) return;
if ((*p)->next == NULL)
{
*p = NULL;
free(n);
return;
}
while (n->next->next) n = n->n
单链表相关操作之C语言实现:插入,删除,倒转,复制,查找。。。
最新推荐文章于 2024-08-01 18:44:55 发布