//按位查找,返回第i个元素(带头结点)
LNode *GetElem(LinkList L, int i) {
if(i < 1)
return NULL;
LNode *p;//指针p指向当前扫描的节点
int j = 0;//当前p指向的是第几个节点
p = L;//L指向头结点,头结点是第0个节点(不存数据)
while (p != NULL && j < i - 1) {//循环找到第i-1个节点
p = p->next;
j++;
}
return p;
}
//按位查找,找到数据域==e的节点
LNode * LocateElem(LinkList L, ElemType e) {
LNode *p = L->next;
//从第1个节点开始查找数据域为e的节点
while (p != NULL && p->data != e) {
p = p->next;
}
return p;//找到返回该节点的指针,否则返回NULL
}
//求表的长度
int length(LinkList L) {
int len = 0;//统计表长
LNode *p = L;
while (p->next != NULL) {
p = p->next;
len++;
}
return len;
}
//遍历节点
void OutputLinkList(LinkList L) {
LinkList p = L->next;
while (p) {
printf("%d ", p->data);
p = p->next;
}
}
链表的查找,求表长,遍历
最新推荐文章于 2022-07-30 15:34:06 发布