摘要: 1、全排列的递归实现/////////////////////////////////全排列//全排列就是从第一个数字起每个数分别与它后面的数字交换。//在全排列中去掉重复的规则——去重的全排列就是从第一个数字起每个数分别与它后面非重复出现的数字交换。///////////////////////////////template void swap_(T& a, T&b){ T temp= a; a= b; b= temp;}//n为字符串长度, k为第几个数交换void fullArray(char* str,int k, int n){ if ( k == n-1) { . 阅读全文
posted @ 2013-10-24 16:35 空月 阅读(138) 评论(0) 推荐(0)
摘要: #include #include #include #include using namespace std;//二叉树struct BiTNode{ char data; BiTNode *lchild,*rchild;};//根据前序遍历结果和中序遍历结果void buildBiTFromArr(char* pre, char* mid, int left1, int left2,int len, BiTNode** node){ if ( pre== NULL || mid== NULL ||pre[left1]=='\0'&&mid[left2]==& 阅读全文
posted @ 2013-10-01 10:51 空月 阅读(171) 评论(0) 推荐(0)
摘要: 1.用两个栈(Stack)实现一个队列(Queue)分析:设两个栈分别为s1 和 s2,。入队时,将元素压入s1。出队时,判断s2是否为空,如不为空,则直接弹出顶元素;如为空,则将s1的元素逐个“倒入”s2,把最后一个元素弹出并出队。 1 #include 2 #include 3 using namespace std; 4 template 5 class Queue{ 6 public: 7 stack s1; 8 stack s2; 9 public:10 void EnQueue(const T &t){11 s1.push(t);12 ... 阅读全文
posted @ 2013-08-25 15:10 空月 阅读(130) 评论(0) 推荐(0)