69,335
社区成员
发帖
与我相关
我的任务
分享
int QueryLinkList(LinkList *L,int x)
{
if (!L || !(*L))
return 0;
LinkList p = *L;
if (p->data == x) /*check header */
return 1;
else
p = p->next;
while (p && p->data < x && p != *L)
p = p->next;
if (p->data == x)
return 1;
return 0;
}
循环单单链表的查找,个人建议为了模块化,查找只做查找,插入操作领定义函数
while (p->data < x)
{
pre = p;
p = p->next;
if (p == L)
break;
}
if (p->data == x)
return 1;
n = new LinkList;
pre->next = n;
n->next = p;
n->data = x;
return 0;
/*不带哨兵的*/
int QueryLinkList(LinkList *L,int x)
{
if (!L || !(*L))
return 0;
LinkList p = *L;
while (p) {
if (p->data == x)
return 1;
p = p->next;
}
return 0;
}
/*带哨兵的*/
int QueryLinkList(LinkList *L,int x)
{
if (!L || !(*L))
return 0;
LinkList p = *L->next;
while (p) {
if (p->data == x)
return 1;
p = p->next;
}
return 0;
}