博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
反向输出链表
阅读量:5891 次
发布时间:2019-06-19

本文共 997 字,大约阅读时间需要 3 分钟。

hot3.png

代码: #include <iostream>

#include <vector>
#include <iterator>
#include <cassert>
#include<algorithm>//copy using namespace std;
const int n=2;
struct node
{
int i;
node *next;
};
node *Reverse(node *head)
{
//判断链表是否为空
assert(head != NULL && " function Reverse : list is null!");
node *temp=head->next;
//链表只有一个元素情况
if(temp == NULL ) return head;
//链表翻转前head-->temp-->tail,翻转后tail-->temp-->head
head->next=NULL;
node *tail=temp->next;
while(tail != NULL)
{
temp->next=head;
head=temp;
temp=tail;
tail=tail->next;
}
temp->next=head;
//返回翻转后的链表头指针
return temp;
}
void Print(node *head)
{
while(head != NULL)
{
cout<<head->i<<" ";
head=head->next;
}
cout<<endl;
}
int main()
{
node *head=NULL,*tail=NULL,*temp=NULL;
head= new node;
head->i=1;head->next=NULL;
tail=head;
for(int i=2;i<=n;++i)
{
temp =new node;
temp->i=i;temp->next=NULL;
tail->next=temp;
tail=temp;
}
Print(head);
cout<<"------------"<<endl;
head=Reverse(head);
Print(head);

return 0;

}

转载于:https://my.oschina.net/u/2312175/blog/679681

你可能感兴趣的文章
Java 虚拟机经典六问
查看>>
Java 老矣,尚能饭否?
查看>>
InfoQ播客:Tal Weiss谈JVM的可观测性、插桩、以及字节码操作
查看>>
Spring 5.0 GA版本发布,支持JDK9及反应式编程
查看>>
用户故事驱动的文档
查看>>
联合国儿童基金会投资六家区块链初创企业,目标是解决“全球性挑战”
查看>>
微软和Docker 合作,简化云原生应用的包装和运行
查看>>
版本控制、Git及其在企业中的应用
查看>>
Oracle回应用户锁定,自治数据库是更好选择
查看>>
Mozilla开发全新的公开网络API WebXR 来实现增强现实
查看>>
深入浅出Tensorflow(五):循环神经网络简介
查看>>
宕机的阿里云们正在杀死运维?
查看>>
Facebook开源图像处理库Spectrum,优化移动端图像生成
查看>>
.NET Core 2.1的重大缺陷延长了.NET Core 2.0的寿命
查看>>
GitOps:Weaveworks通过开发者工具实现CI/CD
查看>>
《A Seat at the Table》作者访谈录
查看>>
Kubernetes 状态管理与扩展
查看>>
Three.js 最新版本改进了对WebGL的支持
查看>>
在Hyperledger Indy中实现隐私设计
查看>>
Apache Ignite 初探
查看>>