C++ 单链表反转
来源:互联网 发布:数据机房新风 编辑:程序博客网 时间:2024/06/08 09:36
复习下C++ 单链表反转
思路:
在顺序读取链表的过程中,对每个节点逐个进行反转
首先创建单链表
struct LinkNode{int NodeData;LinkNode *next;};LinkNode * createLink(){LinkNode * head=new LinkNode;head->NodeData=0;head->next=NULL;LinkNode *p=head;for(int i=1;i<10;i++){LinkNode *newnode=new LinkNode;newnode->NodeData =i;newnode->next=NULL;p->next=newnode;p=newnode;}return head;}
对链表进行反转
LinkNode *reverse(LinkNode *head){LinkNode *p,*q,*temp;if(head == NULL|| head->next == NULL)return head;p=head;q=p->next;while(q->next!=NULL){temp = q->next;q->next=p;p=q;q=temp;}q->next=p;head->next=NULL;return q;}
下面是完整的代码
#include<iostream>using namespace std;struct LinkNode{int NodeData;LinkNode *next;};LinkNode * createLink(){LinkNode * head=new LinkNode;head->NodeData=0;head->next=NULL;LinkNode *p=head;for(int i=1;i<10;i++){LinkNode *newnode=new LinkNode;newnode->NodeData =i;newnode->next=NULL;p->next=newnode;p=newnode;}return head;}LinkNode *reverse(LinkNode *head){LinkNode *p,*q,*temp;if(head == NULL|| head->next == NULL)return head;p=head;q=p->next;while(q->next!=NULL){temp = q->next;q->next=p;p=q;q=temp;}q->next=p;head->next=NULL;return q;}int main(){LinkNode *head,*reversehead,*showlink,*reverselink,*showreverselink;head=createLink();showlink=head;reversehead=head;cout<<"showlink data is:"<<endl;while(showlink->next!=NULL){cout<<showlink->NodeData<<'\t';showlink=showlink->next;}cout<<showlink->NodeData<<endl;cout<<"reverselink data is:"<<endl;reverselink=reverse(reversehead);showreverselink=reverselink;while(showreverselink->next!=NULL){cout<<showreverselink->NodeData<<'\t';showreverselink=showreverselink->next;}cout<<showreverselink->NodeData<<endl;}
0 0
- C语言反转单链表
- 单链表反转 c实现
- 单链表反转C代码
- C语言反转单链表
- 单链表反转(C++)
- 反转单链表(C)
- 单链表的反转实现(C++)
- 数据结构 - 反转单链表(C++)
- 单链表反转C语言实现
- 单链表反转(C代码)
- 单链表反转C语言实现
- 单链表反转C语言实现
- C语言:单链表的反转
- C:单链表反转(循环)
- C语言:【单链表】逆置反转单链表
- [c] 单链表创建,打印和反转
- 逆置/反转单链表(C语言)
- 字符串反转(C/C++)
- Linux 实时信号程序中锁的探索
- Cocos2d-X 3.4版-自定义血量条《赵云要格斗》
- 设置vs2010的默认包含路径
- C语言取模和数学取模的区别
- 触发器的分类
- C++ 单链表反转
- 日经社説 20150204 国は汚染土の輸送にも万全を
- oracle returning into
- UVA 10029 Edit Step Ladders(最长上升子序列)
- Visual C++从入门到精通精装版视频教程
- HTTP状态码详解
- hdu 4858 项目管理
- Hibernate常用的聚合函数
- 浅谈struts2工作原理