リストのプログラムです。
初心者が書いており危険かもしれないので
引用、参考で起こったあらゆる責任は一切負いません。
前回の質問で削除の方法を教えてもらったのですが、削除の方法がうまく実装できません。
削除したいノードのひとつ前のノード->next = 削除したいノード->next
しなきゃいかんので、まずは 「削除したいノードのひとつ前のノード」
つまり X->next == 削除したいノード である X を見つけることになりますとのことですが
以下のコードについて、どこに、どう書いたらいいでしょうか。よろしくお願いします。
試しに3番目を消そうとしてtop3->next=top4;を消して,top2->next=top3->next; とかいてみたんですが
うまくいかなかったのでお願いします。
c
1#include <stdio.h> 2#include <stdlib.h> 3 4struct SUUJI{ 5 int suuji; 6 struct SUUJI *next; 7}; 8 9int main(void){ 10 11 12struct SUUJI *top5; 13struct SUUJI *top4; 14struct SUUJI *top3; 15struct SUUJI *top2; 16struct SUUJI *top1; 17 18top5=(struct SUUJI *)malloc(sizeof(struct SUUJI)); 19 20top5->suuji=5; 21 22top5->next=NULL; 23 24top4=(struct SUUJI *)malloc(sizeof(struct SUUJI)); 25 26top4->suuji=4; 27 28top4->next=top5; 29 30top3=(struct SUUJI*)malloc(sizeof(struct SUUJI)); 31 32top3->suuji=3; 33 34top3->next=top4; 35 36top2=(struct SUUJI*)malloc(sizeof(struct SUUJI)); 37 38top2->suuji=2; 39 40top2->next=top3; 41 42top1=(struct SUUJI*)malloc(sizeof(struct SUUJI)); 43 44top1->suuji=1; 45 46top1->next=top2; 47 48 49while(top1!=NULL){ 50 51printf("%d->", top1->suuji); 52 53top1=top1->next; 54 55} 56 57printf("\n"); 58//追記 やっぱりやめた 59return 0; 60} 61
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/16 04:03 編集
2021/03/16 03:00
2021/03/16 03:09
2021/03/16 03:28
2021/03/16 04:22 編集
2021/03/23 06:25 編集
2021/03/23 05:19
2021/03/23 06:26 編集