链表的插入方法1(逆序插入,逆序输出)

默认分类 | 2018-04-06 17:58:52 | 332次阅读 | 0评
#include <stdio.h>
#include <stdlib.h>
typedef char ElemType;


typedef struct Node //atention the 'struct'//链表结点定义

{
    ElemType data;
    struct Node* next;
} Node,*LinkList;


LinkList GreateFormHead() //建立链表函数

{
    Node *h=NULL, *s;   //定义一个结点指向空
    char c;
    while ((c=getchar()) != '$')
    {
        s = (Node*)malloc(sizeof(Node));
        s->data = c;//反向插入结点
        s->next = h;
        h = s;//h是指向第一个结点(单链表)
    }
    return h;
}
void print(Node *L)    //输出函数   *L是头结点
{
    for (; L; L=L->next)//新的一种for循环方式
        printf("%c ", L->data);
    printf("\n");
}


int main()
{
    LinkList L = GreateFormHead();//调用时只用函数名
    print(L);
    return 0;
}
博友评论,共0条
浏览1265次
最新评论