• 6.头插法建立线性表


     1 
     2 #include <stdio.h>
     3 #include <stdlib.h>
     4 
     5 #define ElemType char
     6 typedef struct Node      /*结点类型定义*/ 
     7 
     8     ElemType data;
     9     struct Node  * next;
    10 }Node, *LinkList;         /* LinkList为结构指针类型*/
    11 
    12 
    13 LinkList  CreateFromHead()    /*通过键盘输入表中元素值,利用头插法建单链表,并返回该单链表头指针L*/
    14 
    15     LinkList   L;
    16     Node   *s;
    17     char     c;
    18     int     flag=1;
    19     L=(LinkList)malloc(sizeof(Node));     /*建立头结点*/
    20     L->next=NULL;                            /*建立空的单链表L*/
    21     while(flag)                                   /* flag初值为1,当输入"$"时,置flag为0,建表结束*/
    22     {
    23         c=getchar();   
    24         if(c!='$')
    25         {
    26             s=(Node*)malloc(sizeof(Node));    /*建立新结点s*/
    27             s->data=c;
    28             s->next=L->next   /*将s结点插入表头*/
    29             L->next=s;             /*移动栈指针,指向新添加的元素*/
    30         }
    31         else
    32             flag=0;
    33     }
    34     return L;
    35 }
    36 
    37 void main()
    38 {
    39     LinkList l;
    40     Node *p;
    41     printf("Creat  stack  from  head,pleas enter the members ,end width $ !\n");
    42     l = CreateFromHead();
    43     p = l->next;
    44     while(p!=NULL)
    45     {
    46         printf("%c\n",p->data);
    47         p=p->next;
    48     }
    49 }
    50
  • 相关阅读:
    TSQL编程的全局变量
    一、读大学,究竟读什么?
    受用一生的心理寓言
    字符串函数
    android wait notify实现线程挂起与恢复
    Java Thread.interrupt 中断JAVA线程
    android实现文件下载功能的3种方法
    Android startActivityForResult 和 setResult的使用
    Android 软键盘盖住输入框的问题
    Android蓝牙操作
  • 原文地址:https://www.cnblogs.com/zhangqs008/p/1523741.html
Copyright © 2020-2023  润新知