随笔分类 -  C

摘要:几个常用的排序算法:插入排序、快速排序、归并排序#include #include #include /************************************************ * 插入排序法 * 第1次循环: 5, 3, 4, 6, 2, 1 -> 5, 5, 4, 6... 阅读全文
posted @ 2015-08-05 17:12 葡萄不吐皮 阅读(200) 评论(0) 推荐(0) 编辑
摘要:AVL是最先发明的自平衡二叉查找树算法。在AVL中任何节点的两个儿子子树的高度最大差别为一,所以它也被称为高度平衡树,n个结点的AVL树最大深度约1.44log2n。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。 定义 用LH... 阅读全文
posted @ 2015-08-04 20:43 葡萄不吐皮 阅读(741) 评论(0) 推荐(0) 编辑
摘要:最近在LeetCode做题,二叉树出现错误时不好排查,于是自己写了一个函数,将前序遍历格式字串转换成二叉树。 形如 "AB#D##C##" 的字符串,"#"表示孩子节点为空,算法如下: 1.当前节点进栈 push(s,t) 2.出栈: pcur=pop(s) ,判断当前字符 a 不... 阅读全文
posted @ 2015-08-03 15:56 葡萄不吐皮 阅读(773) 评论(0) 推荐(0) 编辑
摘要:首先来递归算法,简单易懂:#include #include #include typedef struct TreeNode{ char data; struct TreeNode *lchild, *rchild;}TreeNode;void PreOrderTraverse(T... 阅读全文
posted @ 2015-07-31 16:36 葡萄不吐皮 阅读(350) 评论(0) 推荐(0) 编辑
摘要:头指针存放链表元素数量,头节点开始存放数据,尾节点指向NULL list.h#ifndef _LIST_H#define _LIST_H#include #include #define DEBUG 0typedef struct node{ int val; struct nod... 阅读全文
posted @ 2015-07-18 11:54 葡萄不吐皮 阅读(220) 评论(0) 推荐(0) 编辑
摘要:两位玩家轮流在棋盘上放置不同颜色的棋子,一位玩家使用黑子,另一位使用白子,棋盘是一个偶数正方形。 只能将一个棋子放在对手的棋子旁边,使对手在水平、垂直、对角线方向上的棋子变成自己的棋子,游戏结束时,棋子多的玩家获胜。 如果所有的方格都放置了棋子,游戏结束;如果无法放置棋子将对方的棋子变成自己... 阅读全文
posted @ 2015-07-10 16:27 葡萄不吐皮 阅读(633) 评论(0) 推荐(0) 编辑
摘要:一个很简单的给main函数传递参数的例子:#include //int main(int argc, char *argv[]){int main(int argc, char **argv){ if( 1 == argc) printf("hello world!\n");... 阅读全文
posted @ 2015-07-06 11:54 葡萄不吐皮 阅读(611) 评论(0) 推荐(0) 编辑
摘要:之前的贪吃蛇都是在cmd下实现,每次都要调用cls刷新屏幕,简直是闪瞎了我的狗眼。 度娘得知有一种方法可以避免闪烁,即:双缓冲。原理是先在内存中作图,然后将做好的图复制到前台,同时禁止背景刷新。 主要使用函数: LRESULT CALLBACK WndProc (HWND, UINT,... 阅读全文
posted @ 2015-06-26 15:20 葡萄不吐皮 阅读(221) 评论(0) 推荐(0) 编辑
摘要:算法参照Perl字符贪吃蛇,源码:#include #include #define WIDTH 12 // 宽#define HEIGHT 8 // 高#define DEBUG 0const char FENCE ='*'; // 栅栏const char HEAD ... 阅读全文
posted @ 2015-06-22 22:16 葡萄不吐皮 阅读(260) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示