摘要:
通过把未访问的结点放到unordered_map中来判断是否重复,代码如下: 阅读全文
摘要:
二叉树结点的抽象数据类型: 二叉树结点函数功能实现: 二叉树的抽象数据类型: 广度优先遍历(队列): 【思路】根结点入队,队列不空循环,访问队头并出队,左子树不空则入队,右子树不空则入队。 先序遍历: 【思路】 1.访问当前结点 2.当前结点的右儿子结点非空,则入栈 3.左儿子结点非空,使之作为当前 阅读全文
摘要:
本题题意是指将两个数倒序存储在链表中,再将两数之和同样存储在链表中输出。 我最开始的思路是将每一位相加,再考虑是否进位,但这时就需要考虑一些情况,比较麻烦。 于是我决定采取另一种在网上新学到的方法:这个方法就是将链表中的数字串起来,当做一个long,例如2->4->5,可以根据题目具体要求转化成lo 阅读全文
摘要:
map的特性是,所有元素都会根据元素的键值自动被排序。map的所有元素都是pair,同时拥有键值(key)和实值(value)。pair的第一元素被视为键值,第二元素被视为实值。map不允许两个元素拥有相同的键值multimap的特性以及用法与map完全相同,唯一的差别在于它允许键值重复。unord 阅读全文
摘要:
1.首先想到的方法就是两个for循环全部遍历,代码如下,可通过,但效率太低 2.使用unordered_map,遍历vector中每个元素,并在hash表中通过find()查找目标元素,若找到则写入结果,否则将当前元素加入到hash表中。(每次调用find()函数是为了判断当前元素与其前面的元素之和 阅读全文
摘要:
vector的数据安排以及操作方式,与array非常相似。两者的唯一区别在于空间的运用的灵活性。array是静态空间,一旦配置了就不能改变。vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素。因此,vector的运用对于内存的合理利用与运用的灵活性有很大的帮助,我们再也不 阅读全文