摘要:
用到一个C的简单的图形库,easyX 简单到看了文档就会用。 俄罗斯方块的难点在于方块的表示和状态转换,比如这样一个方块(用1代表了): 1 1 1 1 1 -----》 1 1 1 怎么样能简便的转换过去,我想的办法就是利用位运算。 如何利用呢?首先,我用1表示方块已经给予提示了。没错,我把方块表 阅读全文
摘要:
对于给定前序和中序的重建方法。 1 前序的第一个元素一定是树的根节点,在中序集合中找到此元素,那么该元素的左面即为根的左子树,右面为右子树。 2 找到前序的第二个元素,重复上面的步骤。 自写程序的效率大概为 n*n/2 或最大的那个元素(这点很坑,斟酌改掉), 目前没发现更快的写法(自己写) 结果... 阅读全文
摘要:
已转CSDN。 阅读全文
摘要:
直接上代码: void combine5(double data[],int length){ double sum = 0.0; for(int i=0;i<length;i++) { sum *= data[i]; } cout<<sum<<end... 阅读全文
摘要:
看见了一道二维数组找数的题,已排好序的数组(从左至右从上到下,都是由小变大的)让找数,瞬间就出思路了,并没有必要去看他的解释,两次二分就搞定了。 #include#includeusing namespace std;void sreach(int num[][100], int row... 阅读全文
摘要:
下面的计算计算多项式的两种不同方法,形如 a0+a1x+a2x^2········ 第二个函数是根据horner法,通过反复提出幂,来减少乘法的次数,按照道理说,既然polyh函数比poly函数减少了乘法的次数,那应该比poly快才对,可是事实正好相反,polyh比poly慢。这是为什么呢? 如果... 阅读全文
摘要:
第一,避免无故的函数调用和重复计算,看下面的代码: for(int i=0;i<strlen(s);i++){ cout<<s[i]<<endl;}int l=strlen(s);for(int j=0;j<l;j++){ cout<<s[j]<<endl;}int k... 阅读全文
摘要:
由于二叉排序树插入随意,毫无规则可言,自然时间效率就不能保证,极端情况下会退化成链表(左空右慢或反之)。 平衡二叉树就是在二叉排序树的基础上进行优化,平衡二叉树就是保证任何父节点的左右子树深度只能相差1、0、-1(左-右),所以每次插入一个新点都要修改这棵树使其平衡,学名叫旋转... 阅读全文
摘要:
c的程序要手动管理内存的,所有的数据(结构)都可以分为两种存储方式,连续存储,顾名思义申请一片连续的内存以供使用(数组、结构体、共用体、栈、队列);非连续存储,顾名思义断断续续的的存储,那有一点这有一点(链表,链表实现的树)。 对齐填充,这个东西很有意思,看似无用其实很关键,比如有... 阅读全文