按照数据结构与算法分析这本书,写了单链表的基本操作。
头文件:
#ifndef LIST_H
#define LIST_H
typedef int ElementType; //定义链表数据域类型
//链表节点数据类型定义
struct Node
{
ElementType data;
struct Node *next;
};
typedef struct Node Node;
typedef struct Node* List;
typedef struct Node* pNode;
List makeEmpty(List L); // 创建空链表
int isEmpty(List L); //判断链表是否为空
int isLast(pNode p); //判断节点p是否为尾节点
pNode find(ElementType x, List L); //查找值为x的节点
void delete(ElementType x, List L); //删除值为x的节点
void insert(ElementType x, List L, pNode p); //将x插入到p节点之后
pNode findPrevious(ElementType x, List L); //查找x元素的前驱节点
void deleteList(List L); //删除链表
pNode header(List L); //返回链表头结点
pNode first(List L); //返回链表第一个节点
pNode advance(pNode p); //返回p节点的下一个节点
ElementType retrieve(pNode p); //返回节点p的数据域
void traverse(List L); //遍历链表
pNode last(List L); //获取尾节点
#endif
基本操作:
#include <stdio.h>
#include <stdlib.h>
#include "list.h"
List ma

这篇博客详细介绍了数据结构与算法中的单链表基础知识,包括其基本操作的实现。
最低0.47元/天 解锁文章
614

被折叠的 条评论
为什么被折叠?



