Advertisement

C语言实现单链表节点删除(无头结点)

阅读量:

对单链表节点执行插入、删除、修改和查询操作属于基础性功能,本文将重点实现节点的删除操作。其余相关功能可参考《C语言实现链表的基本操作》一文。节点删除可分为两种类型:

(1)移除位于特定位置的节点;

(2)检测链表中是否存在某值x,如存在则将其对应的节点进行删除;

示例代码已上传至 https://github.com/chenyufeng1991/DeleteLinkedList

关键代码如下:

复制代码
 //删除pos位置的节点

    
 Node *deletePosElement(Node *pNode,int pos){
    
  
    
     //需要一个头结点来维护
    
     Node *pHead;
    
  
    
     Node *pMove;
    
     int i = 1;
    
     if (pos <= 0 || pos > sizeList(pNode)) {
    
     printf("%s函数执行,输入pos值非法,删除节点失败\n",__FUNCTION__);
    
     return NULL;
    
     }
    
  
    
     pHead = pNode;
    
     pMove = pNode;
    

全部评论 (0)

还没有任何评论哟~