zoukankan      html  css  js  c++  java
  • 数据结构C语言实现----创建一个链表

    链表的知识点,我就不多说了

    写这篇文章也是作为一种学习笔记,为了以后复习好用

    所以我就简单说一下,我在这边遇到的一些问题和解决方案    

      1.创建一个链表就是:头指针-->结点1-->结点2-->结点3-->............

      2.新创建一个结点,比如叫它New_node,其实就是在一个地方申请了一块空间,在这块空间放进去一个数据和指针,我们再创建一个节点时还叫          

              New_node,虽然名字一样,但它不会去覆盖第一个结点,因为它又会去申请一块空间,往里面放入指针和数据,也就是说,当第二个结点申请成功时

              第一个结点就不再叫New_node了,他只是一块空间

      3.头指针和第一个结点是相等的,比如说头指针是L,那么L->date == 第一个结点里面的数据

    代码如下:

    #include<stdio.h>
    #include<stdlib.h>
    
    typedef struct Node
    {
        char date;
        struct Node *next;
        
    } Node , *LinkList;
    
    LinkList creat_linklist(int n)//创建一个长度为n的单链表
    {
        LinkList New_node;//新节点名称
        LinkList Tail_node;//最后一个节点名称
        LinkList Head_node = NULL;//头节点
        char c;
    
        for (size_t i = 0; i < n; i++)
        {
            printf("请输入第%d个节点的数据:",i+1);
            scanf("%c", &c);//读取要插入的字符
            fflush(stdin);//清空缓存
            New_node = (LinkList)malloc( sizeof(Node) );//为新节点申请一块空间
            New_node->date = c;
            New_node->next = NULL;//顺序插入的每个节点后面都没有元素
    
            if ( Head_node==NULL )
            {
                Head_node = New_node;//如果插入的节点是第一个节点,就挂在头节点后面
            }else
            {
                Tail_node->next = New_node;//若插入的节点不是第一个节点,就挂在最后一个节点的后面
            }
            Tail_node = New_node;//插入新节点后,这个已经插入的最新节点就成为了最后一个节点
        }
        return Head_node;
    }
    
    
    int main()
    {
        LinkList L;
        int n;
        printf("请输入链表节点个数:");
        scanf("%d",&n);
        fflush(stdin);//清空缓存
        L = creat_linklist(n);
        //打印单链表
        while ( L != NULL )
        {
            printf("%c" , L->date);
            L = L->next;
        }
        
        return 0;
    }
    

      

    运行结果:

  • 相关阅读:
    Http Get与Post的区别
    华为USG6000V防火墙简单配置案例
    华为USG6000V防火墙简单配置案例
    基于三层交换机的VRRP技术--MSTP、VRRP的综合运用
    ci test
    CI框架 default_controller 如何设置为:'目录/Controller' 转
    查看django版本的方法
    Django如何安装指定版本
    django学习--2 模板
    django学习--1
  • 原文地址:https://www.cnblogs.com/jerryleesir/p/13293340.html
Copyright © 2011-2022 走看看