算法题:链表的递归逆序
来源:互联网 发布:单片机堆栈是什么意思 编辑:程序博客网 时间:2024/06/03 14:56
#include <iostream>using namespace std;struct Node{ int data; Node *next; Node(int d = int()) :data(d), next(NULL){}};class Clist{public: Clist(int a[], int n) :first(NULL) { int i = 0; Node *p = NULL; for (; i < n; i++) { Node *s = new Node(a[i]); if (first == NULL) { first = s; p = first; } else { s->next = p->next; p->next = s; } } } void releA()//递归逆序。 { releA(NULL,first); } void Printf() { Node *p = first; while (p != NULL) { cout << p->data << "--->"; p = p->next; } cout << endl; }private: void releA(Node *prv,Node *t)//递归逆序,感觉没啥那么意思。 { if (t->next == NULL) { first = t; return; } else { prv = t; Node *p = t->next; if (prv == first) { prv->next = NULL; } releA(prv,p); p->next = prv; } }private: Node *first;};int main(){ int a[] = { 1, 2 ,3,4,5,6,7,8,9}; Clist list1(a,sizeof(a)/sizeof(int)); list1.Printf();//正常的链表。 list1.releA(); list1.Printf();//逆序之后的链表。 return 0;}
1 0
- 算法题:链表的递归逆序
- 链表的逆序输出 递归算法
- 由“栈的逆序”谈谈递归算法
- 递归算法实现字符串的逆序存储
- 递归算法实现字符串的逆序输出
- 递归算法实现字符串的逆序存储
- 逆序数递归算法
- 逆序输出递归算法
- 单链表逆序的递归与非递归算法
- 单链表逆序的递归与非递归算法
- 单链表的逆序实现,递归和非递归算法
- 单链表逆序的递归与非递归算法
- 递归逆序输出链表
- 链表的递归逆序输出,和链表的逆序
- 链表逆序算法
- 链表逆序的循环实现和递归实现
- [算法]链表的逆序遍历节点
- 算法设计和数据结构学习_8(单链表的递归逆序)
- 读书笔记22:职责链模式
- == 和 equal的区别
- 【暑期基础】R HDU 2017 字符串统计
- 基本固件框架的追踪研读之SETUP命令的处理2
- Android获取手机配置信息
- 算法题:链表的递归逆序
- 继承、实现、依赖、关联、聚合、组合的联系与区别
- nyoj-2括号匹配
- 为什么后面加了个eq(0).mouseover(),该怎么解决
- FreeMarker初级攻略
- SDWebImage 报错:Use of undeclared identifier _executing/_finished
- freemarker常见语法大全
- 【暑期基础】T HDU 2019 数列有序!
- Region恢复逻辑