数据结构单链表

1.头文件(list.h)

#pragma once
typedef int ElemType;
typedef struct Node
{
	ElemType data;//数据
	struct Node* next;//后继指针
}Node, * List;//list==Node *


//typedef Node* List;//List == Node *
//List本质是Node*,但含义不同,List表示一条链表,Node*表示一个节点的地址

//初始化plist
void  InitList(List plist);

//输出plist的所有数据
void Show(List plist);

//往plist中头部插入数字val
bool Insert_head(List plist, ElemType val);

//往plist中的尾部插入数字val
bool Insert_tail(List plist, ElemType val);

//在plist中查找val值,找到返回该节点地址,失败返回NULL
Node* Search(List plist, ElemType val);

//获取val的前驱
Node* Prior(List plist, ElemType val);

//删除plist中的第一个val
bool DeleteVal(List plist, ElemType val);

//判断plist是否为空链表(没有数据节点)
bool IsEmpty(List plist);

//获取plist长度,数据节点的个数
int GetLength(List plist);

//获取plist链表的pos位置的值
//int GetElem(List plist, int pos);//设计有问题:无法清晰的表示出错
bool GetElem(List plist, int pos, int* rtval);//rtval:输出参数

//获取val的后继
Node* Next(List plist, ElemType val);

//
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值