数据结构 倒序打印链表结点
Posted wwqdata
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构 倒序打印链表结点相关的知识,希望对你有一定的参考价值。
tests.h
#include<iostream>
using namespace std;
struct ListNode
ListNode();
int data;
ListNode *next;
;
class tests
public:
void ShowListReverse(ListNode* head);
private:
ListNode * head;
;
void tests::ShowListReverse(ListNode *head)
if(head!=NULL)
if(head->next!=NULL)
ShowListReverse(head->next);
cout<<head->data<<endl;
else
cout<<head->data<<endl;
main.cpp
#include"tests.h"
#include<iostream>
using namespace std;
int main()
tests tests;
ListNode *phead = new ListNode();
ListNode *normal,*ptemp;
ptemp=phead;
int a[5] = 1, 4, 2, 5, 6;
for (int i = 0; i < 5; i++)
normal = new ListNode;
normal->data = a[i];
normal->next = NULL;
ptemp->next = normal;
ptemp = normal;
//以上程序段是利用数组生成一个链表,生成的链表pHead为0, 1, 4, 2, 5, 6,可以看出多了初始头结点0
ListNode * head=phead->next;//去掉初始头结点
cout << "利用递归方法从尾到头反过来打印链表的值如下:" << endl;
tests.ShowListReverse(head);
cout << endl;
return 0;
以上是关于数据结构 倒序打印链表结点的主要内容,如果未能解决你的问题,请参考以下文章