单链表的反转
来源:互联网 发布:ubuntu 16.04 vi使用 编辑:程序博客网 时间:2024/06/07 01:13
实现的功能:将单链表头节点以外的节点反转,即头节点-节点1-节点2-节点3....变成头节点-节点3-结点2-结点1.
#include <iostream>#include<cmath>using namespace std;struct LinkNode{ int data; LinkNode *next;};class List{private: LinkNode *head;public: List(); void insert(int data1); void input(); void show(); void reversal();};List::List(){ head=new LinkNode;}void List::insert(int data1){ LinkNode *p=new LinkNode; p->data=data1; p->next=head->next; head->next=p;}void List::input(){ cout<<"请输入数据,输入0代表结束"<<endl; int d; cin>>d; while(d!=0) { insert(d); cin>>d; }}void List::show(){ LinkNode *p=head->next; while(p) { cout<<p->data<<endl; p=p->next; } cout<<endl;}void List::reversal(){ LinkNode *p1,*pn,*tmp; p1=head->next; pn=p1->next; p1->next=NULL;//断开第一个结点 while(pn) { tmp=pn; pn=pn->next; tmp->next=p1;//第一循环将第二个结点指向第一个结点,下一次循环将指向前一个结点 head->next=tmp; p1=head->next;//头节点的下一个结点始终命名为p1 }}int main(){ List li=List(); li.input(); li.show(); li.reversal(); li.show(); return 0;}
0 0
- 单链表的反转
- 单链表的反转
- 单链表的反转
- 单链表的反转
- 单链表的反转
- 单链表的反转 c++
- 单链表的反转
- 单链表的反转
- 单链表的反转问题
- 单链表的反转实现
- 2、单链表的反转
- 单链表的反转
- 单链表的反转
- 单链表的反转
- 单链表的反转
- 单链表反转的实现
- 单链表的反转
- 单链表的反转
- Ubuntu16.04环境下配置elasticsearch5
- MySQL5.7 The server time zone value 异常处理
- 安装redis-执行make命令报错解决方法
- 设计模式之单例模式
- 散列表——分离链接法
- 单链表的反转
- java实现BlockingQueue队列
- as 提示duplicate entry:
- Scala Currying
- 缓存穿透、缓存并发、缓存失效之思路变迁
- Vue.js的生命周期
- windows下zookeeper伪集群搭建
- 遍历table中的tr td
- Vue.js 表单控件