zoukankan      html  css  js  c++  java
  • 数据结构=。= 链表

    为了工作,开始漫漫路

    链表结构

      数据部分:数据

      地址部分:下一个结点地址

    链表结构

    typedef struct  Data //Data数据结构
    {
        char key[10]; //关键字
        char name[20]; //
        int age;      
    }
    
    typedef struct Node //结点结构
    {
        Data nodeData;
        struct Node * next;
    }ListNode;

    链表操作

    链表操作中涉及到“增”结点的操作就要先分配空间

    追加尾结点

    步骤:

    1. 分配空间
    2. 检查是否为头指针(head),是head,head=node(插入的节点);不是head,遍历链表,至末尾(headtemp -> next ==null),headtemp ->next = node;

    代码:

    ListNode *addEnd(ListNode *head,Data nodedata)
    {
        ListNode *node,*htemp;
        if(!(node = (ListNode*)malloc(sizeof(ListNode))))
        {
            printf("申请内存失败!
    ");
            return NULL;
        }
        else
        {
            node->nodeData = nodeData;
            node->next = NULL;
            if(head == NULL)
            {
                head = node;
                return head;
            }
            htemp = head;
            while(htemp->next != NULL)
            {
                htemp = htemp->next;
            }
            htemp->next = node;
            return head;
        }
    
    }

    插入头结点

    步骤和上基本相似,直接说关键操作

    node->nodeData = nodeData;
    node->next = head;
    head = node;
  • 相关阅读:
    [实战]MVC5+EF6+MySql企业网盘实战(11)——新建文件夹2
    [实战]MVC5+EF6+MySql企业网盘实战(10)——新建文件夹
    FMXUI
    x-superobject
    mORMot
    NativeXml
    superobject
    jsondataobjects
    QDAC
    DIOCP
  • 原文地址:https://www.cnblogs.com/sn944/p/5478222.html
Copyright © 2011-2022 走看看