定义结点
typedef struct LNode{
int data; //每个节点存放一个数据元素
struct LNode *next; //指针指向下一个节点
}LNode,*LinkList; //LinkList等价于LNode *,前者强调链表,后者强调结点
初始化
//初始化一个单链表(带头结点)
bool InitList(LinkList &L){
L = (LNode *)malloc(sizeof(LNode));
if(L==NULL) //内存不足,分配失败
return false;
L->next = NULL; //只有头结点
return true;
}
判空
//判断单链表是否为空
bool Empty(LinkList L){
return (L->next==NULL);
}
按位序插入
//按位序插入(带头结点)
bool ListInsert(LinkList &L,int i,int e){
if(i<1)
return false;
LNode *p; //指针p指向当前扫描到的结点
int j=0; //当前p指向的是第几个结点
p = L;
while(p!=