单链表原地逆序
来源:互联网 发布:james blunt知乎 编辑:程序博客网 时间:2024/05/16 16:00
通过改变指针指向来完成逆序
程序清单:
#include <iostream>using namespace std;typedef struct Node{ char c; struct Node *next;}Node, *LinkList;//打印单链表void PutOut(LinkList H){ LinkList p; p = H->next; while (p) { cout << p->c << " "; p = p->next; } cout << endl;}void ReserveList(LinkList H){ Node *_pre, *_cur, *_next;//分别表示前一个指针,当前指针,下一个指针 _pre = NULL; _cur = H->next;//使当前指针指向第一个有意义的值(头指针不参与逆序) while (_cur) { _next = _cur->next;//下一个指针在当前指针之后 _cur->next = _pre; //使当前指针指向前一个指针 _pre = _cur; //使前一个指针后移指向当前指针 _cur = _next; //使当前指针后移 } H->next = _pre;//遍历完后pre指向第一个结点,使头结点指向它便可输出逆序后的结果}int main(void){ LinkList H = new Node(); Node d = { 'd', NULL }; Node c = { 'c', &d }; Node b = { 'b', &c }; Node a = { 'a', &b }; H->next = &a; printf("原顺序为: "); PutOut(H); printf("逆序顺序: "); ReserveList(H); PutOut(H); printf("\n"); return 0;}
运行截图:
阅读全文
0 0
- 单链表原地逆序
- 单链表原地置逆
- 单链表原地逆置
- 面试题-单链表原地逆向
- 单链表的原地归并排序实现
- 单链表的原地逆转 (只遍历一次)
- 单链表原地逆置java实现
- 数据结构之单链表的原地逆置
- 单链表逆序
- 单链表逆序
- 单链表逆序
- 单链表逆序
- 单链表逆序
- 【单链表】逆序
- 单链表逆序
- 单链表逆序
- 单链表逆序
- 单链表逆序
- IDEA编写javaweb(1)
- Particle Playground介绍
- 图片放大功能的具体实现
- spring 的jdbc Template操作
- 【TCON板专用芯片】LVDS转miniLVDS NCS8807简介
- 单链表原地逆序
- linux修改root密码和修改其他用户密码
- GG 搭建单项复制笔记
- Spring定时器Quartz的cron表达式
- Android中自动跳转到系统设置界面
- Eclipse中10个最有用的快捷键组合
- 牛客模拟题-DNA序列
- C#预处理指令
- animate.css – 齐全的CSS3动画库