算法之链表删除指定节点
2022/3/7 1:15:44
本文主要是介绍算法之链表删除指定节点,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
分析和思路:先插入节点,然后再打印剩余节点值即可
1 //解题思路: 2 //创建链表后,通过不重复的节点,遍历链表,找到待插入的值后,将链表插进去即可。 3 #include "iostream" 4 using namespace std; 5 struct ListNode 6 { 7 int value; 8 ListNode* pnext; 9 }listnode; 10 11 12 13 void InsertList(ListNode* &phead,int insert_value,int node_value)//指针引用可以这样用吗? 14 { 15 ListNode* temp=phead; 16 while(temp!=NULL) 17 { 18 if(temp->value!=node_value) 19 { 20 temp=temp->pnext; 21 continue; 22 } 23 24 ListNode* node=temp; 25 ListNode* node_next=node->pnext; 26 27 ListNode *pinsert; 28 pinsert=(ListNode*)malloc(sizeof(ListNode)); 29 pinsert->value=insert_value; 30 31 node->pnext=pinsert; 32 pinsert->pnext=node_next; 33 return; 34 // phead->pnext=NULL; 35 36 37 } 38 } 39 int main() 40 { 41 ListNode *phead; 42 int number=0; 43 while(cin>>number) 44 { 45 46 47 int head_value=0; 48 cin>>head_value; 49 phead=(ListNode*)malloc(sizeof(ListNode)); 50 phead->value=head_value; 51 phead->pnext=NULL; 52 for(int i=0;i<number-1;i++) 53 { 54 int insert_value=0; 55 int node_value=0; 56 cin>>insert_value; 57 cin>>node_value; 58 59 InsertList(phead,insert_value,node_value); 60 61 } 62 int a=10; 63 cin>>a; 64 ListNode* temp=phead; 65 while(temp!=NULL) 66 { 67 68 if(temp->value==a) 69 { 70 temp=temp->pnext; 71 continue; 72 } 73 else 74 { 75 cout<<temp->value<<" "; 76 temp=temp->pnext; 77 } 78 } 79 cout<<endl; 80 } 81 return 0; 82 }
这篇关于算法之链表删除指定节点的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南