// Test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
typedef struct _Node {
int dat;
_Node *next;
_Node(int d) {
dat = d;
next = nullptr;
}
_Node() {
dat = 0;
next = nullptr;
}
} Node, *PNode;
typedef PNode LinkList;
void PrintList(LinkList list) {
PNode temp = list;
while (temp != nullptr ) {
std::cout << temp->dat << ",";
temp = temp->next;
}
std::cout << std::endl;
}
LinkList Reverse(LinkList list) {
PNode pfront = nullptr, pcur = nullptr, pback = nullptr;
pcur = list;
while (pcur != nullptr) {
pback = pcur->next;
pcur->next = pfront;
pfront = pcur;
pcur = pback;
}
return pfront;
}
void TestList() {
LinkList list = new Node(0);
PNode temp = list;
int n = 0;
while (n++ <= 20) {
PNode node = new Node(n);
temp->next = node;
temp = node;
}
PrintList(list);
LinkList ls = Reverse(list);
PrintList(ls);
}
int main() {
TestList();
return 0;
}
链表逆转(不带头结点)
最新推荐文章于 2023-03-12 21:26:15 发布