{
ListNode *p = *head
if (*head == NULL) //链表为空无需处理
return
while(p->next != NULL) //删除链表非笑粗首结点元素
{
ListNode *q = p->next
p->亏带next = p->next->next
free(q)
}
free(p)//碰空镇删除链表首结点元素
*head = NULL
}
//删除节点 删除第i个节点
int Delete_Positon_LL(LinkList *phead,int i)
{
LinkList p,q//p为值是x的节点,q是p的前一个节点
int j
if((*phead)->next == NULL)//如果链表为空,做下溢处理
{
printf("单链表为空!\n")
return 0
}
if(i == 1) //如果是表头,表头后移
{
p=(*phead)->next
(*phead)->next=(*phead)->next->next
free(p)//释放表头
扩展资料:
链接方式存储的线性表简咐裤察称为链表(Linked List)。链表的具体存储表示为:
① 用一组任意的存纯雀储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的)
② 链表中衡茄结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继结点的地址(或位置)信息(称为指针(pointer)或链(link))
链式存储是最常用的存储方式之一,它不仅可用来表示线性表,而且可用来表示各种非线性的数据结构。
参考资料来源:百度百科-单链表
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)