【学习记录】 单链表整理

最近整理了一下以前的数据结构,一下为单链表的所有笔记,全部替换为标准c语言的方式。
若有修改会在本文后面赘述


typedef struct {
   
   
    int name;
    void * pp;
}data;//数据域的结构类型
typedef struct link {
   
   //单链表的数据结构
    data Ldata;
    struct link* next;//好像这里不能用LNode来定义,因为这就是在定义LNode
}LNode;



//初始化一个链表(建立头节点)
LNode* List_init(void) {
   
   
    LNode* p;
    p = (LNode*)malloc(sizeof(LNode));
    if (!p) return 0;//内存不足分配失败
    else {
   
   
        p->next = NULL;
        return p;
    }
}


//判断一个单链表是否为空表
int ListEmpty(LNode* L) {
   
   
    if (L->next == NULL)
        return 1;//表示为空
    else
        return 0;
}
//头节点也释放
//销毁单链表
int DestoryList_L(LNode* L) {
   
   
    LNode* p;//或者LinkList p
    while (L) {
   
   //L!=NULL
        p = L;//先将L指向的结点给P
        L = L->next;//然后L指向下一个节点
        free(p);//删除刚刚的节点
    }//循环直到L指向空(NULL)
    return 1;
}
//只释放后面的
//清空一个单链表
int ClearList(LNode* L) {
   
   
    LNode* p, * q;//定义两个中间变量指针
    p = L->next
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值