A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


  1. /*---------------------------------------------------------------
  2. —————c语言设计一个单链表实现数据存储,节点总数计算,节点遍历!----------
  3. --------------------------------------------------------------*/
  4. #include<stdio.h>
  5. #include"stdlib.h"

  6. typedef struct node
  7. {

  8.     int data;
  9.     struct node *next;
  10. }n_node,*pnode;

  11. pnode linearlist()
  12. {
  13.     n_node *phead,*s,*r;
  14.     int x,tempindex = 0;
  15.     phead = (n_node*)malloc(sizeof(n_node));
  16.     r = phead;
  17.    
  18.    
  19.     while(tempindex<20)
  20.     {
  21.         
  22.         printf("请输入链表的第[%d]个节点\n",tempindex);
  23.         scanf("%d",&x);
  24.         
  25.         
  26.         s = (n_node*)malloc(sizeof(n_node));
  27.         s->data = x;
  28.         s->next = NULL;

  29.         r->next = s;
  30.         r = s;
  31.         tempindex++;
  32.         
  33.     }
  34.     phead = phead->next;
  35.     return phead;
  36. }

  37. int main()
  38. {
  39.    
  40.     int len = 0;
  41.     n_node *p;
  42.     p = linearlist();
  43.     printf("----------------------\n");
  44.     //while((p->next)!=NULL)
  45.     while(1)
  46.     {
  47.         printf("打印链表的第%d个节点为:%d\n",len,p->data);
  48.         p = p->next;
  49.         len++;
  50.         if((p->next)==NULL)
  51.         {
  52.             printf("打印链表的第%d个节点为:%d\n",len,p->data);
  53.             break;
  54.         }
  55.     }
  56.    
  57.     printf("----------------------\n");
  58.     printf("*****%d\n",p->data);
  59.     printf("该链表的节点总数为 %d\n",len+1);
  60.     return 0;
  61. }

复制代码


评分

参与人数 1黑马币 +4 收起 理由
米易雅克 + 4 赞一个!

查看全部评分

4 个回复

倒序浏览
大神给指导一下
回复 使用道具 举报
当年在学校学的数据结构都忘完了
我也在复习链表
回复 使用道具 举报
链表都忘光了 正好学习一下
回复 使用道具 举报
没有学到,希望以后有用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马