1 / 31

アルゴリズムとデータ構造 補足資料 11-4 「第 11 回問題の動作」

アルゴリズムとデータ構造 補足資料 11-4 「第 11 回問題の動作」. 横浜国立大学 理工 学部 数物・電子情報系学科 富井尚志. int main(void) { struct list * listptr , *new1, *new2; listptr = get_list ( ); print_list ( listptr ); new1 = ( struct list *) malloc ( sizeof ( struct list)); new1 -> key = 222;

zed
Download Presentation

アルゴリズムとデータ構造 補足資料 11-4 「第 11 回問題の動作」

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. アルゴリズムとデータ構造補足資料11-4「第11回問題の動作」アルゴリズムとデータ構造補足資料11-4「第11回問題の動作」 横浜国立大学 理工学部 数物・電子情報系学科 富井尚志

  2. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 listptr

  3. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 listptr key 6 key 5 key 4 key 3 key 2 key 1 next next next next next next NULL

  4. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 listptr key 6 key 5 key 4 key 3 key 2 key 1 next next next next next next NULL

  5. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 key next listptr key 6 key 5 key 4 key 3 key 2 key 1 next next next next next next NULL

  6. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 key 222 next listptr key 6 key 5 key 4 key 3 key 2 key 1 next next next next next next NULL

  7. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 key 222 next listptr key 6 key 5 key 4 key 3 key 2 key 1 next next next next next next NULL

  8. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 key 222 next listptr key 6 key 5 key 4 key 3 key 2 key 1 next next next next next next NULL

  9. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 key 222 next listptr->next->next listptr listptr->next listptr->next->next->next listptr key 6 key 5 key 4 key 3 key 2 key 1 next next next next next next NULL

  10. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> key 222 next key 6 key 5 key 4 key 3 key 2 key 1 next next next next next next NULL

  11. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> key 222 next p p->next p->next->next key 6 key 5 key 4 key 3 key 2 key 1 next next next next next next NULL

  12. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> key 222 next key 6 key 5 key 4 key 3 key 2 key 1 next next next next next next NULL

  13. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> key 222 next key 6 key 5 key 4 key 3 key 2 key 1 next next next next next next NULL

  14. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> key 6 key 5 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  15. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 listptr key 6 key 5 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  16. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 listptr key 6 key 5 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  17. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 key next listptr key 6 key 5 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  18. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 key 333 next listptr key 6 key 5 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  19. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 key 333 next listptr key 6 key 5 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  20. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 key 333 next listptr key 6 key 5 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  21. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 key 333 next listptr key 6 key 5 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  22. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> key 333 next key 6 key 5 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  23. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> tmp key key 333 next next key 6 key 5 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  24. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> tmp key 333 key 333 next next key 6 key 5 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  25. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> tmp key 333 key 5 next next key 6 key 5 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  26. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> tmp key 333 key 5 next next key 6 key 333 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  27. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> tmp key 333 key 5 next next key 6 key 333 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  28. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } x p 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> tmp key 333 key 5 next next key 6 key 333 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  29. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 key 5 next listptr key 6 key 333 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  30. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 key 5 next listptr key 6 key 333 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

  31. int main(void) { struct list *listptr, *new1, *new2; listptr = get_list( ); print_list( listptr ); new1 = (struct list *)malloc(sizeof(struct list)); new1 -> key = 222; func1( new1, listptr->next->next->next); print_list( listptr ); new2 = (struct list *)malloc(sizeof(struct list)); new2 -> key = 333; func2( new2, listptr->next); print_list( listptr ); return 0; }  void func1(struct list *x, struct list *p) { x->next = p->next->next; p->next->next = x; }  void func2(struct list *x, struct list *p) { struct list tmp; tmp = *x; *x = *p; *p = tmp; p->next = x->next; } 画面出力 <6><5><4><3><2><1> <6><5><4><3><2><222><1> <6><333><4><3><2><222><1> new2 new1 key 5 next listptr key 6 key 333 key 4 key 3 key 2 key 222 key 1 next next next next next next next NULL

More Related