• [数据结构】【c语言】链表的创建和遍历


    第一次写代码的博客,一个刚刚接触的新手,来这里主要是为了记录自己,方便自己以后浏览,也欢迎大家指正。先来个简单的,动态链表的创建和遍历。

    #include<stdio.h>
    #include<stdlib.h>
    #include<malloc.h>
    //定义链表的节点
    typedef struct LNode
    {
        int data;
        struct LNode *next;
    } *LinkList;
    //创建链表函数
    LinkList CreateList()
    {
        LinkList LTail, LHead, p;                
        int i, length,input;
        LHead = (LinkList)malloc(sizeof(LNode));                //创建一个表头节点
        if (!LHead) exit(0);                                    //判断表头是否创建成功
        LTail = LHead;                                          //定义一个表尾
        LTail->next = NULL;                                     //表尾的指针赋予NULL
        printf("请输入你需要的节点数:
    ");                             
        scanf_s("%d", &length);
        for (i = 0; i < length; i++)
        {
            printf("请输入第%d个节点的数据", i + 1);
            scanf_s("%d", &input);
            p = (LinkList)malloc(sizeof(LNode));                //创建一个新的节点
            if (!p) exit(0);                                             
            p->data = input;                                    //将输入的input的值赋给新的节点
            p->next = NULL;                                     //新的节点将要为链表的表尾将其指针赋NULL.
            LTail->next = p;                                    //将表尾与新的节点连接起来
            LTail = p;                                          //将新的节点赋给LTail,成为新的表尾
        }
        return LHead;                                           //返回表头
    }
    //遍历链表函数
    void TravelList(LinkList Head)            
    {
        LinkList p = Head->next;                                //从链表头节点的下一个节点开始遍历
        while (p != NULL)                                       //当链表为空时,停止遍历
        {
            printf("%d	", p->data);
            p = p->next;                                        //向后移动一个节点
        }
    }
    int main()
    {
        LinkList head;
        head = CreateList();
        TravelList(head);
        return 0;
    }
  • 相关阅读:
    PTA(Advanced Level)1037.Magic Coupon
    PTA(Advanced Level)1033.To Fill or Not to Fill
    PTA(Basic Level)1020.月饼
    PTA(Advanced Level)1048.Find Coins
    PTA(Advanced Level)1050.String Subtraction
    PTA(Advanced Level)1041.Be Unique
    PTA(Basci Level)1043.输出PATest
    PTA(Basic Level)1039.到底买不买
    PTA(Basic Level)1033.旧键盘打字
    PTA(Advanced Level)1083.List Grades
  • 原文地址:https://www.cnblogs.com/code-wangjun/p/4349392.html
Copyright © 2020-2023  润新知