1.创建及初始化链表
typedef struct LNode{
int data;
struct LNode *next;
}LNode,*LinkList;
//LNode* 强调是一个节点;LinkList 强调是一个单链表
bool InitList(LinkList &L){
L=(LNode*)malloc(sizeof(LNode)); //分配一个头节点
if(L==NULL){
return false; //内存不足,不能分配
}
L->next=NULL; //头节点之后还没有其他节点 ,头插法需要注意
return true;
}
2.获取链表长度,判断链表是否为空
bool Empty(LinkList L){
if(L->next==NULL){
return true;
}else{
return false;
}
}
int GetLength(LinkList L){
int len=0;
LNode *p;
p=L->next;
while(p!=NULL){
p=p->next;
len++;
}
return len; //返回一个长度
}
3.按值查找、按位查找、节点的插入
LNode * GetElem(LinkList L,int i){ //按位查找
LNode *p;
int j=0; //表示当前指针p指向第j个节点
p=L;
if(i==0){
return p;
}
if(i<1){
return NULL;
}
while(p!=0 && j<i){ //循环到第i个节点 &