- 博客(70)
- 资源 (9)
- 问答 (1)
- 收藏
- 关注
原创 hbitmap保存为图片
static BOOL SaveBitmapToFile(HBITMAP hBitmap, std::string szfilename){HDC hDC;//当前分辨率下每象素所占字节数int iBits;//位图中每象素所占字节数WORD wBitCount;//定义调色板大小, 位图中像素字节大小 ,位图文件大小 , 写...
2020-05-08 11:16:38
940
原创 emacs新手配置基本c/c++编程环境
emacs新手配置基本c/c++编程环境系统环境及版本ubuntu 16 及 emacs 24.5emacs安装文件结构简单说明安装emacs时采用的是apt-get install的方式,文件都是保存在默认的目录结构下有必要做简单的文件结构说明,是晚上很多教程都只给了文件的配置,新手甚至不知道将那些配置代码保存在什么位置使用sudo find / | grep emacs 可以查找所有文
2016-11-19 22:44:29
7242
转载 string 内存陷阱
http://www.cnblogs.com/lanxuezaipiao/p/3704578.html#include #include #include using namespace std; struct flowRecord { string app_name;
2016-08-16 17:59:59
1827
原创 wke基本使用方法
wke 基本使用,也是刚开始使用,如果记得后面继续更新。关于wke基本介绍,请参考http://blog.youkuaiyun.com/cutesource/article/details/8731841关于上面博文中的结构图暂时不太理解。1 需要接窗口事件。2 接窗口事件后,一般会有如下方法{1 SetFile() 加载本地网页2 SetUrl(), 加载url页面,(与上
2015-12-25 22:46:20
22279
转载 c++ 11 10个基本新特新
本文完整转自:http://my.oschina.net/xlplbo/blog/343242auto 在C++11之前,auto关键字用来指定存储期。在新标准中,它的功能变为类型推断。auto现在成了一个类型的占位符,通知编译器去根据初始化代码推断所声明变量的真实类型。各种作用域内声明变量都可以用到它。例如,名空间中,程序块中,或是for循环的初始化语句中。
2015-12-06 23:32:27
691
转载 cmake入门
什么是 CMakeAll problems in computer science can be solved by another level of indirection.David Wheeler你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的 MS nmake,BSD Make(pmake),Makepp
2015-11-19 10:22:33
455
原创 字符串基本处理函数
随手写了两个字符串基本处理函数,记录下,方便以后不用写采用的c++ string的库函数一个是去掉前后某个字符的函数,第二个是将字符串按照某个字符分成数组std::string Trim(std::string str, char ch){ string::size_type bPos = str.find_first_not_of(ch); string::size_type eP
2015-09-06 09:47:19
611
原创 二维数组的最长递减子序列
[原]二维数组中的最长递减子序列2013-8-18阅读160 评论0给定一个如下的二维数组a[][]1 3 5 7 42 1 8 6 54 0 -1 -2 6求其中的最长递减子序列:7, 5, 3, 1, 0, -1, -2,长度为7。子序列只能朝向上下左右四个方向,不能朝对角线方向。思路:
2013-10-12 00:26:20
1887
转载 链表相交问题
这个是目前发现的比较齐全的链表相交问题的解答,和代码,有些地方做简单的补充和修改。代码没有任何改动,重要的是问题的解决方法1、如何判断一个单链表有环2、如何判断一个环的入口点在哪里3、如何知道环的长度4、如何知道两个单链表(无环)是否相交5、如果两个单链表(无环)相交,如何知道它们相交的第一个节点是什么?6、如何知道两个单链表(有环)是否相交
2013-10-06 15:07:15
646
原创 最长回文子串
最长回文子串也是笔试和面试环节经常出现的一个题目,基本的思想很简单,就是从头开始,以每个点为中点位置,然后向两边搜索最长的相等的串,有一个需要注意的地方就是串的长度为偶数或者奇数时的不同情况,比如abba和aba这样的不同的子串,需要同时考虑到这两种情况,做了一个简单的实现,简单测试过,code如下:#include #include #include using namespace
2013-10-06 09:13:30
662
原创 查找之杨氏矩阵
这个也是笔试或者面试过程中经常遇到的一个问题,利用二分查找的思想,巧妙的查找目标元素,网上资料也比较多,自己只是做一个收藏,贴一个code/*杨氏矩阵查找*/#include using namespace std;//二维数组的使用是一个问题void fun(int array[][100],int n,int m,int key, int &i,int
2013-10-05 19:32:49
726
转载 负载均衡算法
负载均衡,这几天也是经常看到,关于负载均衡的算法,搜集了以下的资料 关于负载均衡算法的介绍:http://blog.chinaunix.net/uid-20437338-id-1946450.html,原文3.1 轮转法: 轮转算法是所有调度算法中最简单也最容易实现的一种方法。在一个任务队列里,队列的每个成员(节点)都具有相同的地位,轮转法简单的在这组成员中顺序轮转选择。在负载平
2013-09-28 22:28:46
617
原创 数据库的事务和锁
虽然研发对数据库的要求不怎么高,但是不得不说数据库的这些知识在笔试过程中经常出现,第一个 数据库的事务,事务的定义:事务是一系列操作的集合,这些操作要么全做,要么全不做。在关系数据库管理系统中,事务是数据库应用程序的基本逻辑处理单元,它可以是一条SQL语句,一组SQL语句或整个程序。在数据库管理系统中,事务的开始与结束可以由用户显示控制。如果用户没有显示地定义事务,则由DBMS按缺省规定自动划
2013-09-28 21:01:22
1165
转载 STL之hash_map详解
0 为什么需要hash_map用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改:岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不败-第一高手,葵花宝典...这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信息,最傻
2013-09-20 17:36:50
2421
原创 哈夫曼树求权值
哈夫曼树的权值求法,根据需要我们要构造哈夫曼树,然后根据树求节点,这个肯定是很麻烦的,可以根据哈夫曼树的构造过程可以看出来每次都是取最小的两个树节点然后合并成一棵树,而权值有两种算法,第一个可以取所有的叶子节点,用叶子节点与路径的乘积的和,第二种就是可以取所有的非叶子节点的总和。使用优先队列的就是使用的第二种办法,选一个标记是否为叶子节点,不是叶子节点的权值相加即可,有几个需要注意的地方:第一个就
2013-09-11 20:35:54
12467
原创 拓扑排序
拓扑排序属于有向无环图的应用,在实际工作中,长长把用一个有向图来表示工程的施工流程图,或者产品生产的流程图。一个工程一般可以分为若干个子工程,通常把子工程称为“活动”。有些应用关心工程是否能够顺利完成,即是否存在一个从工程开始到工程完成的活动序列,该序列满足所有活动之间的制约关系(一些活动的开始必须以另一个活动的结束为条件);而有些关系的是,工程的完成时间的估算,哪些活动是影响工程进度的关键。对于
2013-09-10 22:20:12
1434
原创 用opencv读取视频保存视频
不得不说opencv是个强大的东东,以前做一个项目的一个模块时使用到进行图形处理,这次是想将一个视频的播放放慢,以前在网上看到opencv有这个功能,今天就不小心尝试了下,东西不多,主要是做个小记录还有一点要注意的小问题说一下,代码不多,基本上也都是copy的网上的#include #include #include #include #include using namespac
2013-09-07 11:02:41
1167
原创 String类基本实现
在类中如果有一个成员函数为指针就别特要注意复制控制和内存管理的问题了,借用String类模拟这些情况,里面需要注意的问题很多,在写下面这个程序时,很多细节的地方我是花了很长时间慢慢看的。写出来方便以后每次查看时能够注意这些小问题,有几个基本的原则:1 在使用指针前,一定要确定该指针能够使用,即指针的指向或者指针后面的内存分配(初始化) 2 每次分配了内存就一定要释放掉内存
2013-08-28 20:59:01
690
原创 python类使用基本方法
其实要写的不多,记下一段代码 ,然后发现自己因为在照着书上面写的时候出现了错误!等到回过头再来看时才发现是自己的代码没有写完整因为还在初学阶段,希望每天能够记下来一点,也当作给自己一点鼓励!__metaclass__ = type #如果没有这一行,后面的SongBird就会不会被当成类,肯定报错class Bird: def __init__(self):
2013-08-28 17:53:34
774
原创 python简单模拟数据库程序
做个小程序,简单的模拟数据库,代码比较长,觉得可以学习的地方很多,记下来#database.pyimport sys,shelvedef store_person(db): """ Query user for data and store it in the shelf object """ pid = raw_input(
2013-08-28 11:31:55
1659
转载 python入门
本文适合有经验的程序员尽快进入Python世界.特别地,如果你掌握Java和Javascript,不用1小时你就可以用Python快速流畅地写有用的Python程序. 假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200. 思路:用shell编程.(Lin
2013-08-24 11:26:53
576
原创 c++学习之优先队列(priority_queue)
优先队列的思想是比较简单的,就是在队列的基础上按照某一特定元素进出队列,计算机中作业的优先调度,就是按照作业的权值优先,先出队列。在STL容器中,优先队列的实现是使用的heap,也就是堆,用一个二叉堆维护一个优先队列,具体的堆的使用方法不做介绍,主要是了解priority_queue的基本使用方法及一点需要注意的地方。基本使用方法和其他的容器一样,需要将模版具象化,也就是指明类型,然后通过接口调用
2013-08-17 11:58:39
1506
原创 数据结构查找算法之二叉查找树
关于二叉查找树,介绍肯定是很多的,这里我列举的下面的代码和思想,是按照二叉查找树,但是没有使用二叉树的数据结构,而是按照数组索引建立逻辑上的二叉树结构,并使用二叉树的递归方式查找给定的值,并在注释中对不同的情况提出一点自己的看法,创建树的过程参考堆排序的思想,并且在结构上大致相同,所以需要注意的地方也基本上相同,前面介绍了推排序需要注意的地方,这里有几个地方需要说明的是,里面有一段二分查找的函数代
2013-08-13 11:08:20
695
原创 数据结构排序之堆排序
现在写推排序一个是因为上次整理掉了,二是因为觉得推排序中有几个需要注意的地方网上的资料都没有比较好的介绍,所以自己 整理了下,基本原理就是维护一棵二叉树,也就是二叉堆,先附上代码,然后做解释:#include using namespace std;#define left(i) (i) << 1#define right(i) ((i) << 1)+1#define pare
2013-08-12 16:18:19
852
原创 c++学习之函数对象
c++的函数对象,以前接触得比较少,今天重新看了下,感觉这真的是个很使用的技术,相当的好用。先介绍下什么是函数对象,简单的说就是函数操作符“()”的重载,通过重载函数操作符在类中实现函数的功能,并通过生成类的对象,调用操作符,实现效果就和执行函数一样。有时候函数对象使用起来比函数更加的灵活,而且函数对象能很好的兼容c++的标准库算法,下面一段代码做一个简单的演示:#include #in
2013-08-09 09:41:26
610
原创 c++学习之容器——erase()函数
先介绍erase()函数的用法,erase()函数用于在顺序型容器中删除容器的一个元素,有两种函数原型,c.erase(p),c.erase(b,e);第一个删除迭代器p所指向的元素,第二个删除迭代器b,e所标记的范围内的元素,c为容器对象,返回值都是一个迭代器,该迭代器指向被删除元素后面的元素(这个是重点),具体的详细用法请参考其他资料。这里就有一个问题,比如《c++ primer》习题9.
2013-07-27 19:34:41
43584
10
原创 template学习之零值初始化及字符串常量作(function template argument)函数模版参数问题
本篇只是摘抄自《c++ template》小问题比较少注意,而且也容易忘记1 零值初始化对于基本的数据类型int,double,pointer type来说,一般没有default构造式对其初始化,比如下面的代码void foo(){ int x; //x的值不定 int *ptr; //ptr的指向也不定}如果在template中使用这样的代码,如下temp
2013-07-26 20:59:28
1170
原创 template学习之typename关键字
关键字 typenametemplate class MyClass{typename T::SubType * ptr;};在这里第二个typename关键字的意思是:SubType是class T内部定义的一个型别从而ptr是一个指向T::SubType型别的指针;如果上例没有使用关键字typename,SubType会被认为是class T
2013-07-13 16:09:56
802
原创 template学习之利用标准函数库写栈
#include #include #include #include /* 利用已经完成的Vertor标准库生成自定义的栈结构 而且还用到模版,笔试过程中绝对是一个亮点*/template class Stack{private: std::vector elem;public: void push(T const &); void pop(); T top(
2013-07-11 18:14:03
713
原创 c语言变态语法二
下面介绍了其他一下c语言其他一点用的比较少的东西,和一些比较容易错误的地方,还是一样的办法,将问题以注释的形式写在了代码之中,主要是在学习时,边看边亲自动手试了一下,而整理成条款的话比较枯燥乏味,所以直接以代码加注释的形式贴出,如下: #include //用于捕捉异步事件#include //double square();/*1 宏定义需要注意空格#
2013-05-30 16:20:48
691
原创 c语言变态语法一
比较杂乱的记录的一些c语言的变态语法,或者说一些比较少见的,又或者说是一些比较容易忽略的语法,形式整理的不怎么好。 我将这些需要注意的问题通过代码注释的形式写在了代码之中,粘贴下来便可以调试运行查看结果。#include #include #include void memcpy_w(char *dest,char *source,int k){ while(-
2013-05-29 15:13:39
772
原创 算法之查找第k小的数和查找最小的k个元素
利用快速排序的思想查找第k小的数,其中用到了随机数,但是主要的核心思想还是快速排序,具体的细节可以查看《算法导论》第九章,下面只是照书上实现的代码: /*查找数据组中,第k小的数*/#include #include const int MAX = 1000;void exchange(int &a,int &b){ int temp=a; a=b;
2013-05-22 14:01:46
4245
原创 socket编程——获取本机适配器信息
遇上一点点的小麻烦,在包含 Iphlpapi.lib和include "Iphlpapi.h"可能会提示找不到头文件,要先在电脑里面找到windows的SDK,然后添加到include目录下,vc 6.0的一般在工具—>选项 -> 目录里面添加即可。添加好之后如果出现其他的一些情况,可能就是SDK与IDE版本的问题,一般来说微软的IDE是向下兼容的,所以换个高级的IDE,如vc 6不行就换vc 8
2013-05-21 18:10:07
816
原创 windows多线程 1
关于多线程我总觉得是个比较难的东西,难在几点,比如线程的同步互斥等,还有实际编写代码时遇到的线程的调试问题,这些都是造成多线程比较难的原因,不过没有办法,还是需要面对,学习顺便做个记录和分析: 首先是源代码,如下(不同的问题需要自己修改源代码),程序最初的目的是加快x的运算速度,所以最初是采用的两个线程的形式,后来经过改进和分析即产生如下的源码原型。只作为分析用。#def
2013-05-20 18:13:03
541
前端form提交的问题,要求指定不同的frame刷新
2015-01-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人