このコードを試しましたが、セグメント化エラーが発生しました。このエラーを修正するにはどうすればよいですか?ノードのリンクを変更せずにリンクされたリストを逆転する
void rev()
{
struct node *p,*q;
p=start;
q=start;
int count=0,temp,i,j;
while(p!=0)
{
p=p->next;
count++;
}
for(i=0; i<(count/2); i++)
{
p=start;
for(j=0; j<(count-i); j++)
p=p->next;
temp=q->data;
q->data=p->data;
p->data=temp;
q=q->next;
}
}
ここp
とq
はポインタです。最初は両方ともスタートを指しています。 次に、2つのループを使用して、最初と最後のノードの値を入れ替え、次に2番目と最後のノードの値を入れ替えました。
'(count-i)' - > '(count-i-1)' – BLUEPIXY
ありがとう...コードが動作しています –