• 検索結果がありません。

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
31
0
0

読み込み中.... (全文を見る)

全文

(1)

アルゴリズムとデータ構造 補足資料 11-4

「第 11 回問題の動作」

横浜国立大学 理工学部 数物・電子情報系学科

(2)

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;

}

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>

listptr

new2

new1

(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;

}

key

1

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

listptr

new2

new1

(4)

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;

}

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;

}

key

1

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

listptr

new2

new1

(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;

}

key

1

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

listptr

new2

new1

key next

(6)

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;

}

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;

}

key

1

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

listptr

new2

new1

key next

222

(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;

}

key

1

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

listptr

new2

new1

key next

222

(8)

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;

}

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;

}

key

1

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

listptr

new2

new1

key next

222

(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;

}

key

1

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

listptr

new2

new1

key next

222

listptr listptr->next

listptr->next->next

listptr->next->next->next

x p

(10)

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;

}

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;

}

key

1

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

key next

222

(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;

}

key

1

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

key next

222

x p

p->next p

p->next->next

(12)

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;

}

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;

}

key

1

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

key next

222

(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;

}

key

1

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

key next

222

x p

(14)

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;

}

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;

}

key

1

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

key

222

(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;

}

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

listptr

new2

new1

key

1

key

222

(16)

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;

}

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;

}

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

listptr

new2

new1

key

1

key

222

(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;

}

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

listptr

new2

new1

key

1

key

222

key next

(18)

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;

}

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;

}

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

listptr

new2

new1

key

1

key

222

key next

333

(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;

}

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

listptr

new2

new1

key

1

key

222

key next

333

x p

(20)

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;

}

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;

}

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

listptr

new2

new1

key

1

key

222

key next

333

x p

(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;

}

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

listptr

new2

new1

key

1

key

222

key next

333

x p

(22)

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;

}

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;

}

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

key

1

key

222

key next

333

x p

(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;

}

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

key

1

key

222

key next

333

x p

key next

tmp

(24)

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;

}

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;

}

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

key

1

key

222

key next

333

x p

key next

333

tmp

(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;

}

key

2

key

3

key

4

key

5

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

key

1

key

222

key next

5

x p

key next

333

tmp

(26)

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;

}

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;

}

key

2

key

3

key

4

key

333

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

key

1

key

222

key next

5

x p

key next

333

tmp

(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;

}

key

2

key

3

key

4

key

333

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

key

1

key

222

key next

5

x p

key next

333

tmp

(28)

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;

}

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;

}

key

2

key

3

key

4

key

333

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

key

1

key

222

key next

5

x p

key next

333

tmp

(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;

}

key

2

key

3

key

4

key

333

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

key

1

key

222

key next

5

listptr

new2

new1

(30)

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;

}

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;

}

key

2

key

3

key

4

key

333

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

key

1

key

222

key next

5

listptr

new2

new1

(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;

}

key

2

key

3

key

4

key

333

key

6

画面出力

<6><5><4><3><2><1>

<6><5><4><3><2><222><1>

<6><333><4><3><2><222><1>

key

1

key

222

key next

5

listptr

new2

new1

参照

関連したドキュメント

28 第 7 回 コンテナのデータ構造 データの集まりをまとめて扱うコンテナのデータ構造について学ぶ。 【コンテナのデータ構造】

科目区分 対象学生 ※ 単位数 2.00 開講年次・ 学期 2年次・後期 担当教員 上浦 尚武 所属 工学研究科 オフィスアワー・場所 ※

問題

横浜国立大学 理工学部 数物・電子情報系学科

そのブロックの中でずっと有効

アルゴリズムとデータ構造 補足資料

ACM ICPC 2004 年日本国内予選問題

2007 年アジア地区予選東京大会問題 C Minimal