码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构=。= 链表

时间:2016-05-10 16:40:51      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

为了工作,开始漫漫路

链表结构

  数据部分:数据

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

 

链表结构

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("申请内存失败!\n");
        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;

 

数据结构=。= 链表

标签:

原文地址:http://www.cnblogs.com/sn944/p/5478222.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!