数据结构 线性表 建立循环链表

约定不等于承诺〃 2022-09-18 14:52 319阅读 0赞
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <iostream.h>
  4. #define OVERFLOW -2
  5. typedef int ElemType;
  6. typedef struct LNode
  7. {
  8. ElemType data;
  9. struct LNode *next;
  10. }LNode, *LinkList;
  11. void CreateList_L(LinkList &L, int n)
  12. {
  13. int i;
  14. LinkList p,q;
  15. L = (LinkList) malloc (sizeof(LNode));
  16. if (!L)
  17. {
  18. exit(OVERFLOW);
  19. }
  20. q = L;
  21. q->next = L;
  22. for (i=n; i>0; --i)
  23. {
  24. p = (LinkList) malloc (sizeof (LNode));
  25. if (!p)
  26. {
  27. exit(OVERFLOW);
  28. }
  29. scanf("%d",&p->data);
  30. p->next = L;
  31. q->next = p;
  32. q = p;
  33. }
  34. }
  35. void Display(LinkList L)
  36. {
  37. LinkList p = L->next;
  38. while (p != L)
  39. {
  40. printf("%d ",p->data);
  41. p = p->next;
  42. }
  43. printf("\n");
  44. }
  45. int main()
  46. {
  47. int n;
  48. LinkList L;
  49. printf("请输入您要创建循环链表的元素的个数:");
  50. scanf("%d",&n);
  51. CreateList_L(L,n);
  52. Display(L);
  53. return 0;
  54. }

发表评论

表情:
评论列表 (有 0 条评论,319人围观)

还没有评论,来说两句吧...

相关阅读