【数据结构】-线性表-链表 熟练度max=6(利用递归倒序输出L中的值域)

前端之家收集整理的这篇文章主要介绍了【数据结构】-线性表-链表 熟练度max=6(利用递归倒序输出L中的值域)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

L指向开始节点,利用递归倒序输出L中的值域

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. typedef struct LNode
  4. {
  5. int data;
  6. struct LNode *next;
  7. }LNode;
  8. void saveListnext(LNode *&L,int x[])
  9. {
  10. L=(LNode *)malloc(sizeof(LNode));
  11. L->next=NULL;
  12.  
  13. LNode *q,*s;
  14. q=L;
  15. for(int i=0;i<10;i++)
  16. {
  17. s=(LNode *)malloc(sizeof(LNode));
  18. s->data=x[i];
  19.  
  20. q->next=s;//头插法
  21. q=s;
  22. }
  23. q->next = NULL;
  24. }
  25. void printList(LNode *L)
  26. {
  27. LNode *q;
  28. q=L->next;
  29. int i=0;
  30. while(q!=NULL)
  31. {
  32. if(i++)
  33. putchar(' ');
  34. printf("%d",q->data);
  35. q=q->next;//忘记写第二次了
  36. }
  37. printf("\n");
  38. }
  39. void reprint(LNode *L)//利用递归倒序输出链表中的值
  40. {
  41. if(L!=NULL)
  42. {
  43. reprint(L->next);
  44. printf("%d ",L->data);
  45. }
  46. }
  47. int main (void)
  48. {
  49. LNode *L;
  50. int x[10]={1,2,3,4,5,6,7,8,9,10};
  51. saveListnext(L,x);
  52. printList(L);
  53. reprint(L->next);
  54. return 0;
  55. }

猜你在找的数据结构相关文章