C语言实现链表之双向链表(一)头文件

本文探讨了C语言中实现双向链表的头文件,介绍如何定义链表节点及其操作。
摘要由CSDN通过智能技术生成

C语言实现链表之双向链表(一)头文件 


    前面已经出过一个单向链表的系列,这里给出双向链表的实现,这一系列的实现与单向链表有很多类似之处,大家可以参考单向链表的系列。
    
    单向链表的系列(一)的链接是:点击打开链接

    双向链表主要就是加上了一个前向指针其他的并没有太多变化,直接进入正题。

    本次设计的链表操作库主要包含三个文件,分别是:MyList_Bidirection.h---头文件、MyList_Bidirection.c---实现文件以及ListTestTop.c---测试文件。本篇文章先给出本次双向链表库的头文件,概览一下基本的结构形式和实现的功能。

/*
*****************************************************************************************
*                                       UART Block
*
*                                      (c) Copyright
*                                   All Rights Reserved
*
* Filename :    MyList_Bidirection.h
*
* Function :    双向非循环链表结构定义及操作函数集声明
*
* History  :    1. wangyi  2015-4-19  17:47  Version 1.0  creat		
*
*****************************************************************************************
*/

#ifndef _MYLIST_
#define _MYLIST_

// C中的布尔变量定义
typedef enum{FALSE, TRUE}C_Bool;

// 链表数据定义
typedef struct MyListData
{
    char cName[20];
    int  iAge;
}MyListData;

// 链表结点定义
typedef struct MyListNode
{
          MyListData  sNodeData;
   struct MyListNode* pPrevNodeAddr;
   struct MyListNode* pNextNodeAddr;
}MyListNode;

// 链表操作函数声明
/*============================================================================== 
*   操作  :为链表的结点分配内存,并初始化数据元素
*   操作前:pListNode为链表的结点
*   操作后:返回分配内存并初始化后的结点,操作失败返回NULL
==============================================================================*/
MyListNode* MallocMemInitNode(MyListNode* pListNode);

/*===========
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>