找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 3288|回复: 3

【C++】链表倒序输出

[复制链接]
发表于 2015-1-4 20:43:52 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
使用尽量简单的代码实现链表的倒序输出,这个就是考察使用栈的巧妙之处了。
  1. #include <iostream>
  2. using namespace std;

  3. struct Node
  4. {
  5.         int key;
  6.         Node* next;
  7. };

  8. Node* createList(int arr[],int nLength);
  9. void printList(Node* head);
  10. void reversePrint(Node* head);
  11. void clearList(Node* head);

  12. void main()
  13. {
  14.         int arr[] = {1,3,5,7,9};
  15.         int nLength = sizeof(arr)/sizeof(arr[0]);
  16.         Node* head = createList(arr,nLength);
  17.         printList(head);
  18.         reversePrint(head);
  19.         clearList(head);
  20. }

  21. Node* createList(int arr[],int nLength)
  22. {
  23.         Node* head = new Node;
  24.         head->key = arr[0];
  25.         head->next = NULL;
  26.         Node *p = head;
  27.         for(int i=1;i<nLength;i++)
  28.         {
  29.                 Node* ptr = new Node;
  30.                 ptr->key = arr[i];
  31.                 ptr->next = NULL;
  32.                 p->next = ptr;
  33.                 p = p->next;
  34.         }
  35.         return head;
  36. }


  37. void printList(Node* head)
  38. {
  39.         Node* p = head;
  40.         while( p!= NULL )
  41.         {
  42.                 cout<<p->key<<endl;
  43.                 p=p->next;
  44.         }
  45. }

  46. void clearList(Node* head)
  47. {
  48.         Node* p = head;
  49.         Node* ptr;
  50.         while( p!= NULL )
  51.         {
  52.                 ptr = p->next;
  53.                 delete p;
  54.                 p = ptr;
  55.         }
  56. }

  57. void reversePrint(Node* head)
  58. {
  59.         if( head != NULL )
  60.         {
  61.                 if( head->next != NULL )
  62.                         reversePrint(head->next);
  63.         }
  64.         cout<<head->key<<endl;
  65. }
复制代码
回复

使用道具 举报

发表于 2016-1-26 16:40:44 | 显示全部楼层
专业一点叫递归
回复 赞! 靠!

使用道具 举报

发表于 2016-8-24 21:21:04 | 显示全部楼层
#在这里快速回复#新人学习一下
回复 赞! 靠!

使用道具 举报

发表于 2016-11-17 10:33:18 | 显示全部楼层
支持    !!
回复 赞! 靠!

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-11-22 07:17 , Processed in 0.030946 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表