带一个头节点的单向非循环链表实现
C语言结构体实现
typedef int SLTDataType;
typedef struct SListNode //链表中的每一个节点
{
SLTDataType _data; //链表储蓄的数据
struct SListNode* _next; //指向下一个节点
}SListNode;
typedef struct SList //链表
{
SListNode* _head; //头节点
}SList;
外部使用的部分接口
//建立
void SListInit(SList* plist);
//销毁
void SListDestory(SList* plist);
//新增一个节点
SListNode* BuySListNode(SLTDataType x);
//头插
void SListPushFront(SList* plist, SLTDataType x);
//头删
void SListPopFront(SList* plist);
//查找一个数
SListNode* SListFind(SList* plist, SLTDataType x);
// 在 x 后面进行插入
void SListInsertAfter(SListNode* pos, SLTDataType x);
//尾删
void SListEraseAfter(SListNode* pos);
//删除任意节点
void SListRemove(SList* plist, SLTDataType x);
void SListPrint(SList* plist);
接口实现