#include<iostream>
using namespace std;
typedef int ElemType;
typedef int Status;
#define OK 1
#define ERROR 0
#define amount 5
typedef struct Node{
ElemType data;
struct Node *next;
}LNode, *LinkList;
Status InitList(LinkList &L){
L = new LNode;
L->next = NULL;
return OK;
}
Status DestroyList(LinkList &L){
LinkList p;
while(L){
p = L;
L = L->next;
delete p;
}
return OK;
}
Status ClearList(LinkList &L){
LinkList p,q;
p = L->next;
while(p){
q = p->next;
delete p;
p = q;
}
L->next = NULL;
return OK;
}
int ListEmpty(LinkList L){
if(L->next)
return 0;
else
return 1;
}
int ListLength(LinkList L){
LinkList p;
p = L->next;
int i = 0;
while(p){
i++;
p = p->next;
}
return i;
}
Status GetElem(LinkList L, int i, ElemType &e){
LinkList p = L->next;
int j = 1;
while(p&&j<i){
p = p->next;
i++;
}
if (!
链表
最新推荐文章于 2024-08-13 14:59:01 发布
本文深入探讨了链表数据结构的基础知识,包括单链表、双链表的概念,以及插入、删除、遍历等基本操作。通过实例解析,帮助读者理解链表在内存中的工作原理及其优势。
摘要由CSDN通过智能技术生成