C++ 链表翻转
来源:互联网 发布:知乎好看搞笑段子 编辑:程序博客网 时间:2024/06/05 16:17
#include <iostream>
#include <string>
struct Node {
int value;
Node * next;
Node(int data) : value(data), next(nullptr) {};
};
Node * reverse(Node * head);
void Print(Node * head);
int main()
{
Node node1(5);
Node node2(10);
Node node3(15);
Node node4(20);
node1.next = &node2;
node2.next = &node3;
node3.next = &node4;
node4.next = nullptr;
Node *head = &node1;
std::cout << "Before reverse: " << std::endl;
Print(head);
std::cout << "After reverse: " << std::endl;
Print(reverse(head));
system("pause");
return 0;
}
Node * reverse(Node * head)
{
if (head == nullptr)
{
return head;
}
Node * pre = nullptr;
Node * next = nullptr;
while (head != nullptr)
{
next = head->next;
head->next = pre;
pre = head;
head = next;
}
return pre;
}
void Print(Node * head)
{
while (head != nullptr)
{
std::cout << head->value << std::endl;
head = head->next;
}
}
#include <string>
struct Node {
int value;
Node * next;
Node(int data) : value(data), next(nullptr) {};
};
Node * reverse(Node * head);
void Print(Node * head);
int main()
{
Node node1(5);
Node node2(10);
Node node3(15);
Node node4(20);
node1.next = &node2;
node2.next = &node3;
node3.next = &node4;
node4.next = nullptr;
Node *head = &node1;
std::cout << "Before reverse: " << std::endl;
Print(head);
std::cout << "After reverse: " << std::endl;
Print(reverse(head));
system("pause");
return 0;
}
Node * reverse(Node * head)
{
if (head == nullptr)
{
return head;
}
Node * pre = nullptr;
Node * next = nullptr;
while (head != nullptr)
{
next = head->next;
head->next = pre;
pre = head;
head = next;
}
return pre;
}
void Print(Node * head)
{
while (head != nullptr)
{
std::cout << head->value << std::endl;
head = head->next;
}
}
阅读全文
0 0
- [C++]链表部分翻转
- c语言编程--c实现链表翻转
- 翻转一个单向链表的c语言代码
- c数据结构——链表添加+删除+翻转
- 链表翻转(面试题目 C语言实现)
- 面试系列之一:C艹翻转单向链表
- 面试系列之二:C艹翻转双向链表
- 一个 while 实现 C 翻转单向链表
- 01_链表的翻转(C语言)
- C翻转
- 无情链表的创建,,翻转翻转
- 链表翻转程序
- 链表翻转
- 链表翻转
- 链表翻转
- 翻转单向链表
- 翻转链表
- 原地翻转链表
- Xamarin.Forms 用户界面——控件——布局
- .net平台下使用Memcache笔记
- 静态时序分析概述
- Dreamoon and Sets CodeForces
- freemodbus在STM32F100C8上的移植
- C++ 链表翻转
- OpenCV学习笔记8-图像颜色空间转换
- 关于淘宝cnpm 安装后cnpm不是内部或外部命令的解决办法
- Xamarin.Forms 用户界面——控件——View
- 2017多校一 1009题 hdu 6041 I Curse Myself 找环(tarjan) + K 路归并
- Android安全性:屏蔽activity屏幕录制,截屏功能
- OpenCV学习笔记9-几何变换
- 重载 & 隐藏 & 覆盖
- 四、华为2017<汽水瓶>