编程之美3.4 从无头单链表中删除节点
来源:互联网 发布:js鼠标移入事件 编辑:程序博客网 时间:2024/04/30 13:30
假设有一个没有头指针的单链表,一个指针指向此单链表中间的一个节点(不是第一个,也不是最后一个节点),请将该节点从单链表中删除。
作者巧妙地把删除无头单链表节点的问题做了转换,把要删除的节点的下一个节点中的数据部分传递给此节点,然后再删除下一个节点。可见,在不影响效率和复杂度的前提下,我们完全可以不受题目要求的局限,另辟蹊径。
#include <iostream>using namespace std;struct Node{int data;Node* next;};void insertope(Node* &head,int a){//插入一个元素Node *newp = new Node();newp->data = a;newp->next = NULL;Node *p = head;while(p->next){p = p->next;}p->next = newp;}void deleteope(Node* &head){//删除头元素Node *p = head->next;head->data = p->data;head->next = p->next;delete p;}void print(Node *head){//打印整个链表while(head){cout<<head->data<<" ";head = head->next;}cout<<endl;}void inverse(Node *&head){//将单链表中的元素顺序反转过来Node *p = head;Node *q = head->next;p->next = NULL;Node * temp;while(q){temp = q->next;q->next=p;p=q;q=temp;}head = p;}int main(){Node * head = new Node();head->data = 1;head->next = NULL;insertope(head,2);insertope(head,3);print(head);inverse(head);print(head);return 0;}
- 编程之美--从无头单链表中删除节点
- 编程之美-从无头单链表中删除节点
- 编程之美3.4 从无头单链表中删除节点
- 从无头单链表中删除某节点(编程之美3.4)
- 《编程之美》3.4 从无头单链表中删除/添加节点
- 编程之美之从无头单链表中删除节点
- 读书笔记之编程之美 - 3.4 从无头链表中删除节点
- 编程之美——从无头单链表中删除节点
- [编程之美] PSet3.4 从无头单链表中删除节点
- 编程之美:从无头单链表中删除节点,讨论
- 《编程之美》——从无头单链表中删除节点
- 编程之美-从无头单链表中删除节点方法整理
- 编程之美--3.4从无头单链表删除节点
- 编程之美:第三章 结构之法 3.4从无头单链表中删除节点
- 编程之美-从无头单链表中删除结点
- 【编程之美】从无头单链表中删除结点
- 编程之美 - 无头链表删除节点
- 【编程之美】读书笔记:从无头单链表中删除结点
- java实现站内搜索转自http://blog.csdn.net/liunian02050328/article/details/8220379
- H.264视频编解码SoC满足高清DVR设计需求
- RMQ问题的ST算法读书笔记
- menudrawer
- ESB就是各种webservice的组装平台
- 编程之美3.4 从无头单链表中删除节点
- 远程桌面怎样复制本地文件
- 深入理解HashMap,hash函数
- Hash算法以及java hashmap的源码分析
- LINUX自旋锁详解
- 触摸屏是一个符合人体工程学的解决方案吗
- 多校联合第九场1001HDU4686 Arc of Dream
- IPTV支持TS流的方案形成过程
- 如何检测apache配置文件是语法是否正确