C++单链表递归逆序
来源:互联网 发布:帝国cms自动采集发布 编辑:程序博客网 时间:2024/05/23 18:55
#include <iostream>using namespace std;struct Node{ int data; Node *next; Node(int d = int()) :data(d), next(NULL){}};class List{public: List() { first = NULL; } void Insert(int a[], int n) { Node *p = first; for (int i = 0; i < n; i++) { Node *s = new Node(a[i]); if (p == NULL) { p = s; first = p; } else { while (p->next != NULL) { p = p->next; } s->next = p->next; p->next = s; } } } void Sort() { Sort(NULL, first); } void Sort(Node *p, Node *t) { if (t->next == NULL) { first = t; return; } else { Node *q = t->next; Sort(t, q); if (p == NULL) { q->next = t; t->next = NULL; return; } q->next = t; } } //递归逆序单链表。 void Printf() { Node *p = first; while (p != NULL) { cout << p->data << " "; p = p->next; } cout << endl; }private: Node *first;};int main(){ List list; int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; list.Insert(a,sizeof(a)/sizeof(int)); list.Sort(); list.Printf(); return 0;}
1 0
- 递归逆序打印单链表(c实现)
- C语言 逆序输出单链表(递归)
- C 递归逆序输出字符串
- C++单链表递归逆序
- 【C/C++】用递归实现字符串逆序
- 单链表逆序-------- 递归和循环
- 用递归逆序一个单链表
- 单链表逆序(递归&非递归)
- 单链表逆序(递归&非递归)
- 递归逆序
- 数据结构题典009:递归实现单链表逆序数出(ANSI C)
- C语言单链表逆序
- 单链表逆序:通过递归和循环实现。
- C/C++用递归的方法求链表逆序
- 递归实现字符串逆序输出(c++和c)
- C语言-使用递归函数求正序,逆序,阶乘.
- 【C语言】递归实现栈的逆序及排序
- C语言习题5.19--递归方法实现逆序
- MonkeyTalkIDE动态监测app设置
- [深入学习C#]C#实现多线程的方式:使用Parallel类
- phonegap(cordova) 入门 5----小知识点总结------------ios 选择默认语言
- 搜索之吝啬的国度
- 树状数组的改段求段详解
- C++单链表递归逆序
- Mac中Android 终端环境的配置
- Splay树 + 离散化 —— HDU 3436 Queue-jumpers
- Vsphere 6跨vcenter热迁移测试记录
- 最长公共子序列
- PHP"类"笔记
- Unable to install Android Studio in Ubuntu
- InitPHP框架搭建高可用WEB应用01
- 非常完美