初学数据结构,求指点
{
Node<T> *p = first, *q = first, *f = first;
Node<T> *temp_q = first; //中间变量
for (int i = 0; i < n - 1; i ++) {
temp_q = q -> link; //暂存q结点的下一个结点
q -> link = p;
p = q;
q = temp_q;
}
//循环结束时p已指向原链表中的最后一个结点,q指向NULL
f -> link -> link = NULL; //将原链表中第一个结点的指针域置为NULL
f -> link = p; //将头结点指向原链表中的最后一个结点
}
题目要求写一个把单链表逆置的函数,要求算法的空间复杂度为O(n),我这样写对吗?或者有没有更好的算法呢~?
求指点~ :)
...全文
相关推荐
一位高人对java初学者的指点
### 一位高人对Java初学者的指点在IT领域,特别是对于刚接触Java编程的新手来说,获得一些有价值的指导是非常重要的。
数据结构与算法C++实现 循环顺序队列的初始化,求长度,入队,出队
数据结构与算法C++实现循环顺序队列的初始化,求长度,入队,出队适合大二初学数据结构与算法程序有详细备注,可直接运行顺序表
数据结构初学者代码集
数据结构是计算机科学中的核心课程,对于初学者来说,它是理解和掌握编程技术的关键。这个名为“数据结构初学者代码集”的资源,显然是一份专为初学者设计的代码集合,帮助他们通过实践来学习和理解数据结构。
数据结构 初学者首选
数据结构是计算机科学中的核心概念,对于初学者来说,它是理解和编写高效算法的基础。"数据结构 初学者首选" 这本书显然旨在为新手提供一个友好的学习平台,通过实例帮助读者逐步掌握数据结构的基本概念。
初学数据结构必须会的实验代码
数据结构是计算机科学中的核心概念,它涉及到如何高效地存储和组织数据,以便进行各种操作。初学者在学习数据结构时,通常会通过编写实验代码来深入理解和掌握这些概念。


