摘要:
//题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。//思路:分别找到左右子树的前序遍历序列和中序遍历序列,可以用同样的方法分别构建左右子树。可以用递归来完成。//如何确定前序遍历和中序遍历的左、右子... 阅读全文
摘要:
事实上,目前还没有十全十美的排序算法,有优点就会有缺点,即使是快速排序法,也只是在整体性能上优越,它也存在排序不稳定、需要大量辅助空间、对少量数据排序无优势等不足。因此我们就来从多个角度来剖析一下提到的各种排序的长与短。 从算法的简单性来看,我们将七种算法分为两类 1) 简单算法:冒泡、简单选择、直 阅读全文
摘要:
1 #include 2 using namespace std; 3 4 //树的存储结构与设计 5 struct BitNode 6 { 7 int data; 8 BitNode* leftChild; 9 BitNode* rightChild; 10 BitNode() 11 { 12 ... 阅读全文
摘要:
1 #include 2 #include 3 using namespace std; 4 //链表的结构体 5 struct ListNode 6 { 7 int m_nValue; 8 ListNode* m_pNext; 9 ListNode() 10 { 11 m_pNext = NULL; ... 阅读全文
摘要:
1 2 3 4 5 6 7 7->6->5->4->3->2->1->请按任意键继续. . . 阅读全文
摘要:
A B C 5 A%20B%20C 请按任意键继续. . . 阅读全文
摘要:
1 //二维数组的行和列 2 // ---若用一维数组存放二维数组时,则前提必须已知行rowCount和列colCount; 3 // ---若用vector> array保存二维数组时,行数为rowCount = array.size(), 列数为colCount = array[0].size(); 4 5 6 //题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,... 阅读全文
摘要:
borland style 关于常识:1、参数为指针类型,为了鲁棒性,就要首先判断指针是否NULL, 若函数返回值不是bool或者int型或者指针类型,则就判断指针不为NULL; 若函数返回值是bool或者int型或者指针类型,则就判断指针为NULL;参数为vector<int> array,则需要 阅读全文
摘要:
STL函数对象在函数指针之后成型,所以STL中的习惯是当传给函数和从函数返回时函数对象也是值传递的(也就是拷贝)。最好的证据是标准的for_each声明,这个算法通过值传递获取和返回函数对象: STL函数对象是对函数指针的抽象形式,在STL中函数对象在函数中的传递也是按值传递的。for_each算法 阅读全文
摘要:
每个标准容器类都提供四种迭代器类型。对于container<T>而言,iterator的作用相当于T*,而const_iterator则相当于const T*;增加一个iterator或者const_iterator可以在一个从容器开头趋向尾部的遍历中让你移动到容器的下一个元素。reverse_it 阅读全文