创建一个随机节点,即第一个节点

时间:2017-02-17 18:19:41

标签: c list

所以,我正在尝试创建一个函数,它将一个链表和一个整数x作为参数,并在列表中搜索该x,当它找到它时,使包含它的节点成为列表的头部并返回找到x的地方,这是我到目前为止所创造的,但它给出的结果是错误的

int searchMF(list &l,int x){
 node *curr,*temp;
 curr=l.front;
 temp=curr;
 int i,place=0;
 if (l.front->info == x ) return 1;
 else{
 FOR (i,1 TO size(l)) {
   if (curr->info == x) {
      temp->next=curr->next;
      curr->next=l.front;
      place=i;
      break;
   }
   temp=curr;
   curr=curr->next;
 }
 return place;
 }
}

任何建议都将受到赞赏

1 个答案:

答案 0 :(得分:1)

curr->next=l.front;之后,您需要更新l.front以指向curr

curr->next=l.front;  
l.front = curr;  

此外,纯C代码在调试问题时会更有帮助。