链表逆序 头插法
2014-03-18 12:42
351 查看
#include <stdio.h> #include <stdlib.h> typedef struct Node{ int content; struct Node* next; }LNode; init(LNode** head){ *head = (LNode*)malloc(sizeof(LNode)); (*head)->content = 0; (*head)->next = NULL; } insert(LNode* head, int num){ LNode* newNode = (LNode*)malloc(sizeof(LNode)); newNode->content = num; newNode->next = head->next; head->next = newNode; } printL(LNode* head){ head = head->next; while (head != NULL){ printf("%d ", head->content); head = head->next; } } zhuanZhi(LNode* head){ LNode* p = head->next; LNode* q = p->next;//获得第二个 p->next = NULL;//初始化第一个 while (q != NULL){ head->next = q;//先插进去 head->next->next = p;//逆序 p = head->next;//迭代p q = q->next;//迭代q } } main(){ LNode* head; init(&head); insert(head, 1); insert(head, 2); insert(head, 3); insert(head, 4); insert(head, 5); insert(head, 6); insert(head, 7); insert(head, 8); insert(head, 9); printL(head); zhuanZhi(head); printL(head); }
相关文章推荐
- WCF之多个终结点
- 诸葛亮如何通过谈话读懂别人
- linux中fork()函数详解(转)
- Spring3.0 XML配置文件
- c++ extern
- 如何写批处理文件
- IT视觉
- 使用sharepoint自带的文本编辑器
- glog的安装,配置和使用
- Xcode 5 安装插件:规范注释生成器VVDocumenter
- POJ 3670 搞。。
- Unix网络编程第三版中代码环境搭建
- 给新手高管的10条建议
- 送给自己的四句话
- 国外技术方面的网站
- 弹出窗口大全
- 网络131第3周实验——循环与判断语句p45第3题
- 实现自己的http server
- CentOS上编译安装Hadoop2
- C# .Net动态调用webService