数组+单链表,两个C语言问题

来源:百度知道 编辑:UC知道 时间:2024/05/20 18:52:54
1.设有长度为n的一维整型数组A,设计一个算法,将原数组中的元素以逆序排列。
2.设计一个算法,将单链表中结点以逆序排列。逆序的单链表中的结点均为原表中的结点。

第一个:数组元素互换
如果数组元素是偶数个(n个),进行n/2次,依次互换(第一个和最后一个,第二个和倒数第二个...)
如果数组元素是奇数个,中间一个不动,进行(n-1)/2次,依次互换(第一个和最后一个,第二个和倒数第二个...)

第二个:
先正向遍历,找到表尾
然后从表尾逆向遍历,并改变后续结点指向
最后将表头结点指向新的表头