- 博客(19)
- 资源 (9)
- 收藏
- 关注
原创 c++ 文件及文件夹操作(三)
一、 获得文件夹下的所有文件路径void GetAllPath(const string& sSrcPath, vector& vtPath){ struct _finddata_t fileinfo; long lHandle = -1; int iFind = 0; string sFile = sSrcPath + "\\*.*"; lHandle = _findfirst
2015-03-27 16:18:49 1034
原创 STL之binary_search
binary_search 二分查找,被查找的元素区间必须是排序的,且元素需要定义operator函数一共有三个参数,第一个参数是区间的起始位置,第二个参数是区间的结束位置,第三个参数是待查找的元素 示例代码: int arr[10] = {21,32,2,43,13,4,35,26,37,66}; sort(arr,arr+10); bool b = bi
2015-03-24 17:23:38 1464
原创 C++ 文件及文件夹操作(二)
获取文件的创建时间,最后访问时间,最后修改时间,有时,程序需要知道文件的最后修改时间,以便获知是否被修改过使用windows的API FindFirstFile,可以非常方便的做到,获得到的时间类型是 FILETIME FILETIME 只是文件时间,我们要把它转换成系统时间,注意,系统时间有UTC和本地之分,本地系统时间就是你电脑里显示的时间,二UTC则比你电脑里的时间
2015-03-23 23:20:05 778
原创 c++ 合并文件以及拆分
昨天看到一篇介绍TFS的文章,大意是为了处理海量图片,采用分布式架构,将小图片合并为大的文件 兴趣驱使下,写了一个简单的文件合并拆分程序 合并的方法很简单,将小文件写入到大文件中,使用二进制的方式。在大文件头,用一个int记录合并进来的小文件的数量,接下来,一块一块的写入小文件。 每一块都分为三个部分,第一部分是文件的名称,用20个ch
2015-03-19 21:40:42 11899
原创 STL之 next_permutation
next_permutation 函数可以用来处理全排列,例如给定一个三个int元素的数组 int arr[] ={4,1,2}; 求他们的所有排列方式 直接上代码 int arr[] ={4,1,2}; sort(arr,arr+3); while(next_permutation(arr,arr+3)) { for(int i=0;i<3;i++) { c
2015-03-18 22:01:33 555
原创 STL之partition和stable_partition
先看代码,再解释函数的作用 bool Fun(char c){ return c=='*';}int main(){ string str = "***b**a**c**d**"; string str1(str); string str2(str); std::partition(std::begin(str1), std::end(str1),
2015-03-17 16:25:03 4015
原创 算法之字符串重组
算法题目:字符串重组输入:****a * b * c*.....输出:*******abc.....将所有的*都移动到字符串的前半部分,字符移动到后半部分,保证字符的顺序。思路:要保证字母的顺序不能发生变化,可以从后向前遍历字符串,遇到字母时,就把它往后移动,这样,最终所有的字母都在后面,可往后移动到哪里呢?可以设置一个标识位index,这个index表示这个位置可
2015-03-17 15:55:01 2006
原创 c++文件及文件夹操作(一)
文件夹的操作和文件的操作有许多种方式,这一系列的文章将介绍C++对文件的操作,本篇blog介绍文件夹和文件的创建和删除,以及判断他们是否存在如何创建一个文件夹?1、 使用dos命令int FileOperate::CreateFolderByDos(string strName){ string strFolder = "md "; strFolder += strName;
2015-03-16 21:22:33 7026
原创 c++ 写注册表让程序开机自启动
打开注册表:win+R, 输入regedit 点击确定 你会看到五个根目录,开机自启动的信息写在 HKEY_LOCAL_MACHINE 下面,具体的目录为 SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run 要怎么将开机自启动的信息写入注册表中呢?其实过程很简单,第一步,打开注册表,第二步,写注册表,第三步,关闭
2015-03-13 12:01:40 9188 4
原创 C,C++ 常用的操作字符串的函数
小小的做一个总结函数名: stpcpy功 能: 拷贝一个字符串到另一个,遇到'\0'时停止拷贝,destin要有足够大的空间用 法: char *stpcpy(char *destin, char *source); 函数名: strcat功 能: 字符串拼接函数,注意,destin要有足够大的空间用 法: char *strcat(char *destin,
2015-03-12 16:54:35 774
原创 栈的进出序列问题
一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( ) A. 2 3 4 1 5 B. 5 4 1 3 2 C. 2 3 1 4 5D. 1 5 4 3 2 入栈序列为 1 ,2 ,3, 4, 5,其出栈序列不止一个,这五个元素中的任意一个都可以作为第一个出栈的元素,假设3是第一个出栈的元素,可以肯定,第二个
2015-03-12 14:44:19 1754
原创 C++ 模板之类模板
使用类模板,可以事先不确定成员变量的类型,假如我们要写一个先进后出的栈,这个栈既可以放入int,也可以放入long,还可以放入string,那么就需要使用模板技术,否则,类的成员变量将难以定义,因为,你事先不清楚放入栈中的是什么。 直接上代码template class Stack{private: T *ele; // 元素数组 int iCount;
2015-03-12 13:35:48 608
原创 神奇的贝叶斯---垃圾邮件过滤
使用贝叶斯进行垃圾邮件过滤的原理很简单,假如我们在邮件中发现一个词--“发票”,那么就根据这个词来计算这封邮件是垃圾邮件的概率 P(垃圾|发票) = P(发票|垃圾)P(垃圾)/P(发票) P(垃圾|发票) :邮件中出现发票一词时,该邮件是垃圾邮件的概率 P(发票|垃圾): 在垃圾邮件中,发票一词出现的概率 P(垃圾)
2015-03-11 11:23:02 1827
原创 一种基于喜爱程度的音乐随机播放算法
打开你手机中的音乐播放器,开始播放音乐,选择播放模式,共有四种顺序播放 随机播放 循环播放 单曲循环 选择随机播放时,你真的希望是随机么,还是懒得手动选择?你是否希望随机时听到自己喜欢的歌曲的概率更高一些,毕竟,某一段时间内,你对歌曲的选择是有偏爱的,一首新歌刚出来时,你疯狂的听,但是几天之后,你又喜欢上了别的歌曲。 能否根据用户的喜
2015-03-10 22:33:24 1830
原创 c++模板之函数模板
技术是实现目标的手段和方式,模板的存在,是为了让程序猿能编写出与类型无关的代码,而编写与类型无关的代码,则是为了代码的复用,让程序更美观,更容易维护,所有这些,都是为了提高生产效率。 函数模板的格式 template 返回类型 函数名(参数列表){函数体} 不论何时,都不要忘记template ,没有它,就不是模板了
2015-03-10 21:52:40 731
原创 神奇的贝叶斯定理(一)
贝叶斯定理看起来是如此的简单,但却有着神奇的功效,这非常符合国人治病求医的思维模式---偏方治百病,但贝叶斯不是偏方,它虽然小,却很美 P(B|A)=P(A|B)P(B)/P(A) 上面就是贝叶斯定理,理解起来非常容易 P(B|A) : 已知A发生,求B发生的概率 P(A|B) : 已知B发生时,A发生的概率 P(B)
2015-03-10 21:09:15 945
原创 C++ 运算符重载
技术,是实现目标的手段,重载运算符,可以让程序看起来更优美,更优美的程序更具有可读性,如果不重载,使用函数一样可以达到目的,但那样子程序看起来很蹩脚,直接上代码 #includeusing namespace std;class Demo{private: int index;public: Demo(int i) { index = i; } in
2015-03-10 16:45:12 509
原创 指针,和指针的引用
先贴出代码 void TestReference::Fun1(Person *p){ p = new Person("张三",21);}void TestReference::Fun2(Person *p){ p->iAge = 28;}void TestReference::Fun3(Person* &p){ p = new Person("张三",21
2015-03-09 18:05:03 536
原创 关于string的find()函数,你必须知道的一个坑
c++中的string,有一个方法是find(),每一个c++程序猿知道该函数的作用,但是,未必每一个c++程序猿都能正确的使用该函数 string str = "Welcome to China"; string str2 = "China"; int index = str.find(str2); 执行上面的代码,index的值为11,现在,请看下面这段
2015-03-09 17:46:14 4421 3
巩固基础提升算法能力的130道python练习题
2019-11-11
flask-login 使用示例
2018-10-30
Kmeans算法为各国体育水平分类
2016-08-15
simhash算法
2016-06-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人