04编程实现单链表的节点查找

来源:互联网 发布:ping mac地址 编辑:程序博客网 时间:2024/04/30 01:13

/*查找单链表pos位置的节点,返回节点指针*/
/*pos从0开始,0返回head节点*/
node *search_node(node *head , int pos)
{
node *p = head->next;/*新建节点指针并指向头节点的下个节点*/

if(pos < 0) /*pos位置不正确*/
{
printf("incorrect position to search node!\n");
return NULL;
}
if(pos == 0) /*在head位置,返回head*/
{
return head;
}

if(p == NULL)
{
printf("Link is empty!\n"); /*链表为空*/
return NULL;
}

while(--pos)
{
if((p = p->next) == NULL)
{
printf("incorrrect position to search node !\n");
break; /*超出链表返回*/
}
}
return p;
}


原创粉丝点击