3_2_3A.C
上传用户:wyn840322
上传日期:2007-01-13
资源大小:294k
文件大小:2k
源码类别:

数据结构

开发平台:

C/C++

  1. /* ======================================== */
  2. /*    程式实例: 3_2_3a.c                    */
  3. /*    链结串列的建立                        */
  4. /* ======================================== */
  5. #include <stdlib.h>
  6. struct llist                      /* 串列结构宣告      */
  7. {
  8.    int num;                       /* 邮寄编号          */
  9.    char name[10];                 /* 邮寄姓名          */
  10.    struct llist *next;            /* 指向下一标签      */
  11. };
  12. typedef struct llist node;        /* 定义新型态        */
  13. typedef node *llink;              /* 定义新型态指标    */
  14. void main()
  15. {
  16.    llink head;                     /* 串列的开始指标    */
  17.    llink ptr;
  18.    int i;
  19.    head = ( llink ) malloc(sizeof(node)); /* 配置记忆体 */
  20.    if ( !head )                   /* 检查指标          */
  21.    {
  22.       printf("记忆体配置失败! n");
  23.       exit(1);
  24.    }
  25.    head->next = NULL;             /* 设定指标初值      */
  26.    ptr = head;                    /* 将ptr指向串列开始 */
  27.    printf("输入六项邮寄资料:n");
  28.    for ( i = 0; i < 6; i++ )      /* 建立其它节点回路  */
  29.    {
  30.        printf("请输入编号 ==> ");
  31.        scanf("%d",&ptr->num);     /* 读取编号          */
  32.        printf("请输入编号(%d)的姓名 ==> ",ptr->num);
  33.        scanf("%s",ptr->name);     /* 读取姓名          */
  34.        ptr->next = ( llink ) malloc(sizeof(node));
  35.        if ( !ptr->next )
  36.        {
  37.           printf("记忆体配置失败! n");
  38.           exit(1);
  39.        }
  40.        ptr->next->next = NULL;    /* 设定指标初值      */
  41.        ptr = ptr->next;           /* 指向下一节点      */
  42.    }
  43.    printf("邮寄资料:n");         /* 印出资料内容      */
  44.    ptr = head;                    /* 将ptr指向串列开始 */
  45.    for ( i = 0; i < 6; i++ )      /* 列印回路          */
  46.    {
  47.       printf("编号: %dn",ptr->num);
  48.       printf("  姓名: %sn",ptr->name);
  49.       ptr = ptr->next;            /* 指向下一节点      */
  50.    }
  51. }