单向链表逆序
来源:互联网 发布:mac qq游戏大厅 编辑:程序博客网 时间:2024/05/16 08:26
先上三幅图:原始状态是图一,全部逆序之后是图三的样子,图二是逆序一步之后的样子。按照图二的步骤依次往后,每次移动一步,把p1->next 反向,直到全部逆序。详细原理请看代码。
图一:
图二:
图三:
typedef struct Node Node;struct Node{ int data; Node* next;};Node* reverseLinkList(Node* head){ if (head==NULL||head->next==NULL) { return head; } Node* p1 = head; Node* p2 = p1->next; Node* p3 = p2->next; p1->next = NULL;//p1要变成尾指针,所以指向NULL while (p3!=NULL) { p2->next = p1;//p2->next 反向 p1=p2;//p1指针向后移动一步 p2=p3;//p2指针向后移动一步 p3=p3->next;//p3指针向后移动一步 } p2->next=p1;//p3指向了NULL,p2反向 head=p2;//头指针指向之前的尾指针 return head;}
至此结束了。
- 单向链表逆序
- 单向链表逆序
- 单向链表逆序
- 单向链表逆序
- 单向链表逆序
- 单向链表逆序
- 单向链表逆序
- 单向链表逆序
- 单向链表逆序
- 逆序打印单向链表
- 算法-单向链表逆序
- 单向链表逆序输出
- 单向链表逆序 图解
- 单向链表逆序问题
- 单向链表新增逆序
- 将单向链表逆序
- 链表逆序,单向链表
- 关于单向链表的逆序
- Python 处理管道的方法
- 程序序列化操作
- Cocos2d – 禁止屏幕自动旋转
- Python和其他进程的管道通信方式--popen和popen2的比较
- 三星i9000如何获取Root权限及刷机图解教程
- 单向链表逆序
- 搭建基于Jenkins+SVN+Maven持续集成环境(CI)
- 忘记 MySQL 的 root 帐号密码该怎么办
- Cocos2d-x Action
- 字符串string和内存流MemoryStream及比特数组byte[]互转比较
- 在 Ubuntu 上安装和配置 OpenStack Nova
- 关于软件体系结构设计——给老师的一封邮件(及老师解答)
- 获取uboot for tiny210源码
- 编译原理实验 之 符号表