zoukankan      html  css  js  c++  java
  • [数据结构】【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;
    }
  • 相关阅读:
    hdu 1251(字典树)
    关于sass和less做自适应网页的区别
    重置css样式
    打印网页局部内容的方法
    关于在IE下面promise兼容的解决办法
    关于vue属性绑定的问题
    vue的过渡动画在除了chrome浏览器外的浏览器下不正常的问题
    jq 的replaceWith方法在360下面会出现兼容问题
    element-ui 的 upload组件的clearFiles方法调用方法
    canvas 转化为 img
  • 原文地址:https://www.cnblogs.com/code-wangjun/p/4349392.html
Copyright © 2011-2022 走看看