//删
//头删
int L_PopFront(LinkList* L)
{
if ((*L) == NULL)
return 0;
LNode* tmp = (*L);
int ret = tmp->data;
*L = (*L)->next;
free(tmp);
return ret;
}
//尾删
int L_PopBack(LinkList* L)
{
if ((*L) == NULL)
return 0;
if ((*L)->next == NULL){
int ret = (*L)->data;
free(*L);
*L = (*L)->next;
return ret;
}
LNode* cur = *L;
while (cur->next->next)
{
cur = cur->next;
}
LNode* tmp = cur->next;
int ret = tmp->data;
free(tmp);
cur->next = NULL;
return ret;
}
④查询第n个结点的值
//查
//查询第n个元素的值
int L_Selectn(LinkList L, int n)
{
if (L == NULL || n <= 0)
return 0;
LNode* cur = L;
while (--n)
{
cur = cur->next;
}
if (cur == NULL)
return 0;
return cur->data;
}
⑤遍历打印
//遍历打印
void L_Print(LinkList L)
{
LNode* cur = L;
while (cur != NULL)
{
printf("%d ", cur->data);
cur = cur->next;
}
printf("\n");
}