<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[清风雨溪的博客]]></title><description><![CDATA[提高自己，分享他人]]></description><link>https://blog.youkuaiyun.com/gotowu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; gotowu]]></copyright><item><title><![CDATA[浅谈bitmap算法]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/51909297</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/51909297</guid><author>gotowu</author><pubDate>Thu, 14 Jul 2016 14:49:30 +0800</pubDate><description><![CDATA[转自：http://weihe6666.iteye.com/blog/1184554



浅谈bitmap算法


久闻《编程珠玑》一书中提出的bitmap算法之大名，只是没有深入的去研究，今天下午有兴致研究一番，才知道其中的玄机奥秘，不亚于KMP算法之巧妙，下面就由浅入深的谈谈bitmap算法。 

一、bitmap算法思想 

    32位机器上，一个整形，比如int]]></description><category></category></item><item><title><![CDATA[cocos2dx的命令行编译出现 error: undefined reference to ‘xxx’]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/51592327</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/51592327</guid><author>gotowu</author><pubDate>Sun, 05 Jun 2016 23:18:07 +0800</pubDate><description><![CDATA[在使用cocos2dx的命令行编译的时候，会出现 error: undefined reference to 'SceneManager::createLoadScene()'这样的错误。
出现这种错误的原因是，我们自己自定义了一些额外的类，在Android.mk里面../../Classes只是头文件的搜索路径，并没有把我们自己写的那些文件放到编译的文件里面。
这个时候就需要找到所建工程文件]]></description><category></category></item><item><title><![CDATA[安装NET Framework 严重错误 回滚造成的失败问题]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/51586169</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/51586169</guid><author>gotowu</author><pubDate>Sat, 04 Jun 2016 21:26:35 +0800</pubDate><description><![CDATA[主要就是当我们安装失败的时候，这个时候提示信息里面会有一个安装日志，点击打开，将连接地址用IE进行打开，拖到最下面，我们可以看见有红色的提示信息。
 
根据这些红色是的提示信息，我们发现，他显示的是没有权利对这个文件(C:\windows\system32\msvcp110_clr0400.dll)进行操作，所以，这里我们就要搜索到这个文件，然后对]]></description><category></category></item><item><title><![CDATA[输出运算符重载<<为什么一定要使用友元呢]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/51501594</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/51501594</guid><author>gotowu</author><pubDate>Wed, 25 May 2016 21:01:19 +0800</pubDate><description><![CDATA[因为当我们使用成员函数的时候，比如
Coordinate operator+(const Coordinate &coor)
{
Coordinate temp;
temp.m_iX = this0>m_iX+coor.m_iX;
temp.m_iY= this0>m_iY+coor.m_iY;

return temp;
}
这种情况下，函数的参数里面，第一个参数其实是隐藏了一]]></description><category></category></item><item><title><![CDATA[统计一个字符串中出现的子字符串的个数]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/51275256</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/51275256</guid><author>gotowu</author><pubDate>Thu, 28 Apr 2016 16:14:50 +0800</pubDate><description><![CDATA[int calString(string A) {
        unsigned int cnt = 0;
        string s = "coder";
        string::size_type pos = 0;
        while((pos = A.find(s,pos))!=string::npos)
        {
            ++cnt;]]></description><category></category></item><item><title><![CDATA[int ,long , long long的最大最小值]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/51203920</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/51203920</guid><author>gotowu</author><pubDate>Wed, 20 Apr 2016 20:40:41 +0800</pubDate><description><![CDATA[unsigned   int   0～4294967295   
int   2147483648～2147483647 
unsigned long 0～4294967295
long   2147483648～2147483647
long long的最大值：9223372036854775807
long long的最小值：-9223372036854775808
unsigne]]></description><category></category></item><item><title><![CDATA[vector<pair<int,int> >的插入排序，字符串中子字符串个数查找]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/51179527</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/51179527</guid><author>gotowu</author><pubDate>Mon, 18 Apr 2016 14:48:22 +0800</pubDate><description><![CDATA[今天试了一下使用pair在vector中，没想到花了挺长时间的，先记录一下，免得以后忘记了。
题目大意是寻找一个字符串中含有的子字符串个数，根据出现的频率降序输出原来的字符串，同时若是频率相同，则按照原来的顺序输出，所以这里需要使用稳定排序。
往vector中插入pair的时候，使用make_pair(cnt,ix)构建pair。
bool cmp(const pair &a, const]]></description><category></category></item><item><title><![CDATA[关于C++的getline换行符的问题]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/51167943</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/51167943</guid><author>gotowu</author><pubDate>Sat, 16 Apr 2016 14:22:59 +0800</pubDate><description><![CDATA[例如
    string s;
    char a;
    cin>>a;
    cout 
    getline(cin,s);
    cout 
当输入num之后就直接输出a的值了， 并不能输入s。
而当我们输入aaa bbb的时候，输出的结果是
a
aa bbb.
       这是因为stdin是缓冲式输入，必须在输入换行后才读入num.但是它只把第一个字]]></description><category></category></item><item><title><![CDATA[C++中的const_interator]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/50539261</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/50539261</guid><author>gotowu</author><pubDate>Mon, 18 Jan 2016 21:24:26 +0800</pubDate><description><![CDATA[当我们做出如下定义时
vector ids;
vector::const_iterator iter;

并进行了下面的操作，则是正确的
 for(iter = ids.begin();iter!=ids.end();++iter)
    {
        cout<<(*iter).name<<" "<<(*iter).score<<endl;
}
但是当我们进行下面的操作时，则是]]></description><category></category></item><item><title><![CDATA[动态规划初体验]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/50524680</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/50524680</guid><author>gotowu</author><pubDate>Fri, 15 Jan 2016 16:58:27 +0800</pubDate><description><![CDATA[动态规划在有很多的资料，也看了不少，大部分都在说状态转移方程怎么提炼，但是一直都没有弄清楚。模模糊糊的算是理解一点了吧，做下动态规划的笔记。
首先，对于动态规划的题目一般有以下几种：：
线性动规：拦截导弹，合唱队形，挖地雷，建学校，剑客决斗等；
区域动规：石子合并， 加分二叉树，统计单词个数，炮兵布阵等；
树形动规：贪吃的九头龙，二分查找树，聚会的欢乐，数字三角形等；
背包问题：01背包]]></description><category></category></item><item><title><![CDATA[C++笔记--返回对象还是返回引用]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/50511990</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/50511990</guid><author>gotowu</author><pubDate>Wed, 13 Jan 2016 17:14:28 +0800</pubDate><description><![CDATA[我们发现，在C++中，有些成员函数返回的是对象，而有些函数返回的又是引用。
返回对象和返回引用的最主要的区别就是函数原型和函数头。
Car run(const Car &)     //返回对象
Car & run(const Car &)   //返回引用
        返回对象会涉及到生成返回对象的副本，这事调用函数的程序可以使用的副本，因此，返回对象的时间成本包括了调用复制构造函数]]></description><category></category></item><item><title><![CDATA[C++按值传递对象和传递引用的选择]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/50511754</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/50511754</guid><author>gotowu</author><pubDate>Wed, 13 Jan 2016 16:47:17 +0800</pubDate><description><![CDATA[在我们看到的程序中，发现大多数的参数传递是采用引用传递，这是为什么呢？


     通常，使用对象作为参数的函数时，应按引用而不是按值来传递对象，这样可以有效的提高效率。因为按值传递的时候，将会涉及到调用拷贝构造函数生成临时的拷贝，然后又调用析构函数，这在大型的对象上要比传递引用花费的时间多的多。当我们不修改对象的时候，应当将参数声明为const引用。此外，按引用传递，在继承使用虚函数的时]]></description><category></category></item><item><title><![CDATA[关于使用C++的成员初始化列表]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/50483746</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/50483746</guid><author>gotowu</author><pubDate>Fri, 08 Jan 2016 16:18:32 +0800</pubDate><description><![CDATA[初始化列表以冒号开头，后跟一系列以逗号分隔的初始化字段。它位于参数列表的右括号之后，函数体的左括号之前。
class Animal
{
public:
    Animal(int age);
    ~Animal();

    void setAge(int age);
    int getAge() const;
private:]]></description><category></category></item><item><title><![CDATA[scanf和gets的区别]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/50143791</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/50143791</guid><author>gotowu</author><pubDate>Wed, 02 Dec 2015 09:34:05 +0800</pubDate><description><![CDATA[今天在网上做一道题时偶然发现，原来gets竟然比scanf快。以下是程序运行时间对比：
Gets的： (30ms)
#include 
#include 
 
int main()
{
    int from,end,l;
    char str[5];
    char t;
    while(gets(str))
    {]]></description><category></category></item><item><title><![CDATA[深度优先搜索——毕业BG]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/50043077</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/50043077</guid><author>gotowu</author><pubDate>Wed, 25 Nov 2015 21:51:11 +0800</pubDate><description><![CDATA[深度优先搜索就是通过递归对所有的点进行遍历操作，同时对已经访问的点进行标记，逐步进行。当发现有点已经被访问过了的时候，则退回到上一层点，同时将标记点取消标记。另选一个未曾访问过的点重新开始，直到遍历了所有的点。
OJ题目
题目描述：
    每年毕业的季节都会有大量毕业生发起狂欢，好朋友们相约吃散伙饭，网络]]></description><category></category></item><item><title><![CDATA[C语言标准库函数qsort]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/49947665</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/49947665</guid><author>gotowu</author><pubDate>Fri, 20 Nov 2015 15:46:50 +0800</pubDate><description><![CDATA[qsort包含在头文件中，此函数根据你给的比较条件进行快速排序，通过指针移动实现排序。排序之后的结果仍然放在原数组中。使用qsort函数必须自己写一个比较函数。

函数原型：

void qsort ( void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) );]]></description><category></category></item><item><title><![CDATA[找到一个数的所有字典序即字符串的全排列]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/49947173</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/49947173</guid><author>gotowu</author><pubDate>Fri, 20 Nov 2015 15:20:36 +0800</pubDate><description><![CDATA[字典序：对于数字1、2、3......n的排列，不同排列的先后关系是从左到右逐个比较对应的数字的先后来决定的。例如对于5个数字的排列 12354和12345，排列12345在前，排列12354在后。按照这样的规定，5个数字的所有的排列中最前面的是12345，最后面的是 54321。
字典排序算法：
1、首先我们对整个序列进行一个快速排序，]]></description><category></category></item><item><title><![CDATA[面试经典题目:字符串翻转I am a student]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/49907503</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/49907503</guid><author>gotowu</author><pubDate>Wed, 18 Nov 2015 15:15:09 +0800</pubDate><description><![CDATA[题目：写一个函数，将字符串翻转，翻转方式如下：“I am a student”反转成“student a am I”，不借助任何库函数
，要求单词内字符的顺序不变，句子中单词以空格符隔开。
思路：先反转整个字符串，然后再反转字串。譬如先将“I am a student”反转为“tneduts a ma I”,然后再对每个字串（空格分割）反转一次。
 
代码：
#include 
#inc]]></description><category></category></item><item><title><![CDATA[staitc用于函数内部和函数外部的不同]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/49431253</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/49431253</guid><author>gotowu</author><pubDate>Mon, 26 Oct 2015 23:01:17 +0800</pubDate><description><![CDATA[1、当static用于函数内部时，例如static int i；当函数执行完后，i不会被释放,下一次调用函数时，i的值会保留上次的值继续使用。

程序如下：
#include 
#include 
void func()
{
    static int i=0;
    int j=0;
    i++;
    j++;
     printf("i: %d, j: %d \n",i,j]]></description><category></category></item><item><title><![CDATA[数据结构之快速排序]]></title><link>https://blog.youkuaiyun.com/gotowu/article/details/49430777</link><guid>https://blog.youkuaiyun.com/gotowu/article/details/49430777</guid><author>gotowu</author><pubDate>Mon, 26 Oct 2015 22:23:52 +0800</pubDate><description><![CDATA[快速排序算法是冒泡排序算法的改进，与冒泡排序类似，快速排序也是通过交换逆序元素来进行排序的。不同的是，冒泡排序的交换是相邻的，而且快速排序一次交换就可以消除多个逆序元素。


它的基本思想是：通过一趟排序将要排序的数据分割成独立的两部分，其中一部分的所有数据都比另外一部分的所有数据都要小，然后再按此方法对这两部分数据分别进行快速排序，整个排序过程可以递归进行，以此达到整个数据变成有序序列。]]></description><category></category></item></channel></rss>