#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 !
单链表上机实验
最新推荐文章于 2024-06-05 16:37:49 发布