使用尾插法创建一个链表,输入字符,最后在终端打印字符

/*
    用单链表实现数据的添加以及增删改查和计算单链表的长度

*/

#include <stdio.h>
#include <stdlib.h>

typedef int elemtype;
typedef struct node
{
    elemtype data;
    struct node *next;
}LNode, *LinkList;



LinkList tailFromHead()
{
    LinkList L;
    LNode *s;
    LinkList r;
    char c;
    int flag = 1;
    L = (LinkList)malloc(sizeof(LNode));
    L->next = NULL;
    r = L;
    while(flag)
    {
        c = getchar();
        if(c != '$')
        {
            s = (LinkList)malloc(sizeof(LNode));
            s->data = c;
            r->next = s;
            r = s;
        }
        else
        {
            flag = 0;
            r->next = NULL;
        }
    }
    return L;

}
void show(LinkList L)
{
    int i = 0;
    LinkList P;
    P = L->next;
    if(P == NULL)
    {
        printf("此表是空表!");
        return ;
    }
    while(L!=NULL)
    {
        printf("%c",P->data);
        P = P->next;
    }
}

int main()
{
    int s;
    LinkList H;
    H = tailFromHead();
    show(H);
}
01-08 19:12
查看更多