详解链表的转置问题
扫描二维码
随时随地手机看文章
//题目: ------------------链表的转置------------------------
// 要求:
// 将链表的就地转置。就是将链表的数据存储倒置
//例:
// 输入:12345678910
// 输出:10987654321
// 算法分析:
// 程序最主要的地方再于将头接点的后的每个接点都放再头接点的前面。直到头接点到达
// 尾接点。记完成了链表的转置。
// 算法复杂度分析:
// 只是将每个接点前移所以复杂度就链表的长度。O(N);
// 程序分析:
// 程序采用的时C++实现的方式;时用类实现每个接点。程序中用到了可利用空间表,从而加快了
// 程序中要删除接点再生成接点的速度。采用C++的重载new和delete函数。也用到了静态的类成员
// 数据成员用来实现可利用空间表。
#include
template
// new 重载函数的实现。记得因为是模板函数。所以要记得返回的时候时不指向任何类型的。
// 当你再用到new函数时它就能重新指向你需要的类型。
template
template
int main()
{
AList
注:
这是我学习数据结构时候写的实验习题。其中有很详细的讲解。希望有不懂这个问题的人看了能
知道怎么样去实现链表的转置。