单链表的按位查找:
LinkList f7(LinkList L,int x)//按位查找
{
L = L->next;//将L变为首元结点
while (L && --x)//结束条件L为NULL或x为0
{
L = L->next;//将L变为下一个结点
}
return L;//当L的值为NULL时则表示不存在这个位的结点,反之则输出这个位的结点。
}
单链表的插入操作:
void f8(LinkList L, int i,int x)//插入操作
{
LNode* p = (LNode*)malloc(sizeof(LNode));//创建一个变量
L = f7(L, i-1);//找到前一个位的结点
p->next = L->next;//将原来L的指针域赋值到p的指针域
L->next = p;//将L的指针域变为p
p->data = x;//输入数据
}
单链表的删除操作:
void f9(LinkList L, int i)//删除操作
{
L = f7(L, i - 1);//找到前一个位的结点
L->next = L->next->next;//将前一个位的指针域指向后一个位的指针域
}
单链表空的判断:
bool f10(LinkList L)//判空
{
if(L->next)//判断首元结点是否位空
{
cout << "L is not null" << endl;
return false;
}
else//不为空
{
cout << "L is null" << endl;
return true;
}
}