[数据结构]反转单链表中所有数据元素

数据结构教程1.12

1
2
3
4
5
6
7
8
9
10
11
Node *
reverse1(Node *current){
Node *previous;
Node *next;
for(previous = NULL;current!=NULL;current = next){
next = current->link; //需要事先保存current ->link ,后面有所改动。
current->link = previous;
previous = current;
}
return pravious;
}

只需要交换指针方向即可。
定义next与previous
从思路上只需要改变指针的指向即可,第一个元素指向NULL,然后令previous为current,current为next继续改变下一个节点指针。

参考文献:

[1] 蔡子经. 施伯乐[J]. 数据结构教程, 1994.

[2]蔡子经. 施伯乐数据结构教程上海: 复旦大学出版社[J]. I999.