アルゴリズムとデータ構造 補足資料 11-4
「第 11 回問題の動作」
横浜国立大学 理工学部 数物・電子情報系学科
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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