Advertisement

lesson15-2 实现算法,在单向链表中删除非首尾指定位置的一个节点(仅允许访问该节点)

阅读量:

思路:

当无法获取前驱节点信息时,若需移除特定节点,可将后续节点的数值转移至待删除节点,随后直接删除该后续节点。

这种方法同样适用于节点删除操作,但实际应用中较为少见。

代码:

复制代码
 void deleteNode(LNode*&p){//待删除结点p

    
 	LNode *q=p->next;
    
 	p->data=q->data;
    
 	p->next=q->next;
    
 	free(q);
    
 }
    
    
    
    
复制代码
 #include<stdio.h>

    
 #include <stdlib.h>
    
 #include<math.h>	//数学函数,求平方根、三角函数、对数函数、指数函数...
    
  
    
 #define MAXSIZE 15
    
  
    
 //用于使用c++的输出语句
    
 #include<iostream>
    
 using namespace std;
    
  
    
 typedef struct LNode{
    
 	int data;
    
 	struct LNode *next;
    
 }LNode;
    
  
    
 void createList(LNo

全部评论 (0)

还没有任何评论哟~