《C算法》读书笔记(5):单向链表逆序
2015-08-16 21:32
253 查看
P71,3-10
很简单的程序,debug了好一会。最重要的是思路清晰。
#include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <algorithm> using namespace std; typedef struct node *link; struct node { int item; link next; }; int n; void visit(link p) { printf("%d ", p->item); } void traverse(link head) { link p = head; while(p != NULL) { printf("%d ", p->item); p = p->next; } printf("\n"); } link reverse(link head) { link p = head, next, prev = NULL; while(p != NULL) { next = p->next; p->next = prev; prev = p; p = next; } return prev; } int main() { freopen("in.txt", "r", stdin); freopen("out.txt", "w", stdout); scanf("%d", &n); link p, head; head = p = (link)malloc(sizeof(node)); p->item = 1, p->next = p; for(int i = 2; i <= n; ++ i) { p = (p->next = (link)malloc(sizeof(node))); p->item = i, p->next = NULL; } traverse(head); link tail = reverse(head); traverse(tail); return 0; }
相关文章推荐
- 关于logcat日志
- java NIO 实现
- xml解析代理NSXMLParserDelegate的使用步骤
- HDU_3679
- JS设置 cookie,删除 cookie
- java socket 通信示例
- Codeforces Round #315 (Div. 1)
- Java深入 - Java 内存分配和回收机制-转
- 常用的语句
- CDN
- 质数和水仙花数的判断
- Java关键字final、static使用总结
- chenw Hibernate 缓存机制
- 库和框架的区别
- 每日,成就逻辑
- Android、iPhone和Java三个平台一致的加密工具
- 《Linux内核分析》(三)——跟踪分析Linux内核的启动过程
- poj3090Visible Lattice Points
- Python中类的属性的访问控制
- PAT 1083. List Grades (25)