摘要: 已知: 每个飞机只有一个油箱, 飞机之间可以相互加油(注意是相互,没有加油机) 一箱油可供一架飞机绕地球飞半圈, 问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)3架飞机5架次,飞法:ABC ... 阅读全文
posted @ 2015-09-03 16:54 舒克_贝塔 阅读(2792) 评论(0) 推荐(0) 编辑
摘要: 在这里我们实现了一个简易的vector,没有利用到 stl中的内存分配器,内存分配利用的是new进行分配。其余功能大致实现1 #ifndef _NVECTOR_ 2 #define _NVECTOR_ 3 #include 4 #include 5 template 6 class nvector... 阅读全文
posted @ 2015-09-02 23:38 舒克_贝塔 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 1 #ifndef _MEMPOOL_H_ 2 #define _MEMPOOL_H_ 3 #include 4 template 5 class CMemPool{ 6 private: 7 CMemPool* m_pFreeList; 8 public: 9 enum{EAXP... 阅读全文
posted @ 2015-09-02 09:12 舒克_贝塔 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 递归: 1 void merge_array(int a[],int low,int mid,int end){ 2 int* temp = new int[end-low+1]; 3 int index_pre = low; 4 int index_post = mid+... 阅读全文
posted @ 2015-09-01 10:02 舒克_贝塔 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 1、堆建立首先观察一个堆的向下调整过程。由于不满足最大堆的条件,对于不满足的元素,选择子节点中的最大元素交换。并更新被交换的子节点作为当前节点,继续调整,直至成为叶节点或满足最大堆的条件。 1 #define left(i) (2*i+1) 2 #define right(i) 2*(i+1) 3 ... 阅读全文
posted @ 2015-08-26 17:25 舒克_贝塔 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 题目如下:一个全是32位整数的大数组,除了其中一个数字出现2次外,其余的数字都出现了3次。如何找出那个只出现了两次的数字? 1 int singleNumber3(int a[], int length){ 2 int ones = 0; 3 int twos = 0; 4 ... 阅读全文
posted @ 2015-08-26 16:08 舒克_贝塔 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 关于二叉树的建立,根据前序和中序,建立二叉树。并且总结关于二叉树前序,中序以及后序的非递归遍历。1、二叉树的建立利用递归的思想建立二叉树,如pre[]={8,11,9,3,13,6,15,12,5,7};mid[]={3,9,13,11,6,15,8,5,12,7}分别代表前序和中序的遍历结果。前序... 阅读全文
posted @ 2015-08-26 11:25 舒克_贝塔 阅读(762) 评论(0) 推荐(0) 编辑