摘要:
例如:已知数组a前半部分a[0,mid - 1],后半部分a[mid,num-1],现前半部分和后半部分均已排好序。要求:实现a数组的从小到大排序。空间复杂度为O(1). 1 #include 2 using namespace std; 3 4 void PrintArry(int v[],int len) 5 { 6 for(int i = 0; i left ; -- i) {24 v[i] = v[i-1];25 }26 v[left] = temp;27 28 //move the current ... 阅读全文
posted @ 2013-10-31 21:03
猿人谷
阅读(1073)
评论(0)
推荐(0)
摘要:
题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数22和如下二元树 10 / \ 5 12 / \ 4 7 则打印出两条路径:10, 12和10, 5, 7。二元树结点的数据结构定义为:struct BinaryTreeNode // a node in the binary tree{ int m_nValue; // value of node BinaryTreeNode *m_pLeft; // left child of node ... 阅读全文
posted @ 2013-10-31 20:18
猿人谷
阅读(402)
评论(0)
推荐(0)
摘要:
二 叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是 递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中, 前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说要难一点。一.前序遍历 前序遍历按照“根结点-左孩子-右孩子”的顺序进行访问。 1.递归实现[cpp] view plaincopyvoidpre_order(BTree*root){if(root!=NULL)//必不可少的条件.. 阅读全文
posted @ 2013-10-31 15:45
猿人谷
阅读(10458)
评论(2)
推荐(4)
浙公网安备 33010602011771号