数据结构-链表反置
2015-12-30 20:59
519 查看
#include<cstdio> #include<cstdlib> struct Node{ int num; Node *next; }; void Add(Node **head, int num){ Node* node = new Node; node->num = num; node->next = *head; *head = node; } void PrintLink(Node *head){ Node *temp = head; while(temp!=NULL){ printf("%d ", temp->num); temp = temp->next; } printf("\n"); } void ReverseLink(Node **head){ Node* prev = NULL; Node* curr = *head; Node* next; while(curr != NULL){ next = curr->next; curr->next = prev; prev = curr; curr = next; } *head = prev; } Node* ReverseLink2(Node* head){ if(NULL == head || head->next == NULL) return head; Node *temp = ReverseLink2(head->next); head->next->next = head; head->next = NULL; return temp; } int main(){ Node *head = NULL; Add(&head, 1); Add(&head, 2); Add(&head, 3); Add(&head, 4); Add(&head, 5); PrintLink(head); head = ReverseLink2(head); ReverseLink(&head); PrintLink(head); return 0; }
相关文章推荐
- 数据结构:二叉树
- 数据结构:树
- 数据结构 JAVA描述(七) 图的遍历+最小生成树
- 数据结构:递归
- 数据结构_1:线性表: Vector
- 数据结构和算法概览(一)
- 数据结构课程期末总结二
- 数据结构 JAVA描述(六) 图的创建 (邻接矩阵+邻接表)
- 大话数据结构—二叉排序树
- Linux关键数据结构
- linux内核数据结构之kfifo
- 数据结构(期末小结)——1、数据结构概论
- 数据结构和算法经典100题-第29题
- 3-1-栈的顺序存储结构-栈和队列-第3章-《数据结构》课本源码-严蔚敏吴伟民版
- 数据结构 JAVA描述(五)哈夫曼树,树与森林
- 数据结构课程设计
- 数据结构和算法经典100题-第28题
- 数据结构课程设计之图书管理系统
- 数据结构实训:学生信息管理
- 数据结构实训-学生成绩管理系统