C 创建一个随机节点,第一个节点
因此,我试图创建一个函数,它以链表和整数x为参数,在列表中搜索该x,当它找到它时,使包含它的节点位于列表的开头,并返回它找到x的位置,这是我迄今为止创建的,但它给出的结果是错误的C 创建一个随机节点,第一个节点,c,list,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
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;
}
}
在
curr->next=l.front之后,如有任何建议,将不胜感激
您需要更新l.front
以指向curr
curr->next=l.front;
l.front = curr;
同样,纯
C
代码在调试问题时会更有帮助。int searchMF(list&l,int x)
是C中的语法错误。对于(i,1到大小(l))是什么?它应该像BASIC一样吗?这实际上不是问题,因为我用一种类似于c的语言编写代码,这不是问题,我正在寻找语法以外的另一个问题(我的程序正常编译),这就是为什么for是different@Maverick如果你的源代码是一个完整的C程序(如标签所示),那就更容易了复制它的行为。一旦找到解决方案,您可以将其翻译回“类似语言”