单链表反转
2015-09-23 16:20
218 查看
从第2个节点到第N个节点,依次逐节点插入到第1个节点(head节点)之后,最后将第一个节点挪到新表的表尾。
Node* ReverseList(Node* head)
{
Node *p,*q;
p=head->next;
while(p->next!=NULL) //在这个循环过程中p所指的元素一直是不变的
{
q=p->next;
p->next=q->next;
q->next=head->next;
head->next=q;
}
p->next=head; //相当于成环
head=p->next->next; //新head变为原head的next
p->next->next=NULL; //断掉环
return head;
}
Node* ReverseList(Node* head)
{
Node *p,*q;
p=head->next;
while(p->next!=NULL) //在这个循环过程中p所指的元素一直是不变的
{
q=p->next;
p->next=q->next;
q->next=head->next;
head->next=q;
}
p->next=head; //相当于成环
head=p->next->next; //新head变为原head的next
p->next->next=NULL; //断掉环
return head;
}
相关文章推荐
- 图像压缩算法
- DOM4j 操作XML
- 这个世界为什么需要程序员
- 关于MFC中InvalidateRect()的思考与疑问
- iOS里面KVO模式的详解和使用
- List和ArrayList, Map和HashMap的区别
- UIScrollView && UIPageControl
- MySQL的随机数函数rand()的使用技巧
- PAT(甲级)1008
- Spring中注解的使用
- apue.h头文件的配置
- Android 应用程序之间内容分享详解(一)
- iOS开发——枚举类型和闭包
- 如果你还在用STM32F103,那么你OUT了
- 架构设计的常用思想
- Retrofit学习笔记(一)
- solr 如何实现精确查询
- Android软键盘弹出将底部栏顶上去并不会挤压界面
- 华为机试测试- 求有序数组中最长的等差序列
- Unity3D之Mecanim动画系统学习笔记(七):IK(反向动力学)动画