#include<iostream>
typedef int ElemType;
struct LNode
{
ElemType data;
LNode* next;
};
void InitList(LNode* &HL)
{
HL = NULL;
}
void ClearList(LNode*& HL)
{
LNode *cp, np;
for (cp = HL; cp != NULL;cp=np,cp = cp->next)
delete cp;
HL = NULL;
}
int LenthList(LNode* HL)
{
int i = 0;
while (HL != NULL)
{
i++;
HL = HL->next;
}
return i;
}
bool EmptyList(LNode* HL)
{
return HL == NULL;
}
ElemType GetList(LNode* HL, int pos)
{
LNode* cp;
if (pos < 1)
{
std::cerr << "pos is out range!" << std::endl;
exit(1);
}
int i = 0;
for (cp = HL; cp != NULL; cp = cp->next)
{
i++;
if (i == pos) break;
}
if (cp != NULL)
return cp->data;
else
{
std::cerr << "pos is out range!" << std::endl;
exit(1);
}
}
void TraverseList(LNode* HL)
{
LNode* cp;
for (cp = HL; cp !
单链表上机实验
最新推荐文章于 2021-05-18 12:32:32 发布
这个博客展示了如何使用C++实现单链表的各种基本操作,包括初始化、清空、获取链表长度、判断是否为空、查找元素、更新元素、插入元素、删除元素、排序、逆序以及找到链表中的最大元素和计数特定元素出现的次数。示例代码详细展示了这些操作的实现细节。
摘要由CSDN通过智能技术生成