c++
zhuqianUESTC
这个作者很懒,什么都没留下…
展开
-
vs2013遇到fopen不安全替换fopen_s的问题
1>...error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.1> 正在生成代码...原创 2016-10-27 19:10:24 · 14590 阅读 · 0 评论 -
有限制条件的求1+2+...+n
//求1+2+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字//及条件判断语句(A?B:C)//解法1:利用构造函数求解。关键是static的应用。class Temp{private: static unsigned int n; //static数据成员独立于该类的任意对象而存在,每个static数据成员是与类关联的对象 s原创 2016-06-14 10:56:34 · 360 阅读 · 0 评论 -
不用加减乘除做加法
//写一个函数,求两个整数之和,要求在函数体内不得使用 +,-,*,/ 四则运算符号。#include "iostream"using namespace std;//分三步:1.不算进位相加sum,2.仅算进位carry。3.sum与carry相加,这里循环了,如果carry为0,over。int add(int a, int b){ int sum_without_carry原创 2016-06-14 11:24:11 · 157 阅读 · 0 评论 -
扑克牌的顺子
//从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。//2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王可以看成任意数字。#include "iostream"using namespace std;//判断,大王小王用0表示 {0, 0, 1(A), 2~10, 11(J), 12(Q), 13(K)}const int maxLength原创 2016-06-13 17:26:23 · 347 阅读 · 0 评论 -
正则表达式的匹配
//请实现一个函数用来匹配包含‘.’和‘*’的正则表达式。模式中的字符‘.’表示任意一个字符,//而‘*’表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配//整个模式。f:字符串“aaa”与模式“a.a”和“ab*ac*a”匹配,但与“aa.a”及“ab*a”均不匹配。#include "iostream"using namespace std;boo原创 2016-06-29 15:51:46 · 171 阅读 · 0 评论 -
数组中重复的数字
//在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道哪几个//数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如://如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。#include "iostream"using namespace std;//hashtable,空间复杂原创 2016-06-29 15:50:49 · 235 阅读 · 0 评论 -
n个骰子的点数以及出现概率
//把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能//的值出现的概率。#include "stdio.h"#include "cmath"#include "helper.h"using namespace std;//方法1:递归思路。把骰子分成两堆,一堆1个,另一堆n-1个。int diceSurface = 6;void probabili原创 2016-06-13 11:42:15 · 652 阅读 · 0 评论 -
数组中出现次数超过一半的数字
/*数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,输出2.*/#include "iostream"#include "map"using namespace std;void MoreThanHalfNum0(int* numbers, int le原创 2016-05-23 11:38:25 · 148 阅读 · 0 评论 -
和为s的两个数字&&和为s的连续正数序列
//问题1:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s.//如果有多对数字的和等于s,输出任意一对即可。#include "iostream"using namespace std;bool findNumWithSum(int* a, int n, int s){ if (a == NULL || n <= 0) return false;原创 2016-06-03 10:28:58 · 211 阅读 · 0 评论 -
二叉搜索树变双向链表
//输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。//要求不能创建任何新的结点,只能调整树中结点指针的指向。#include "stdlib.h"struct BinaryTreeNode{ int m_nValue; BinaryTreeNode* m_pLeft; BinaryTreeNode* m_pRight;};//第一种需要额外空间,先中序,再连。原创 2016-05-20 16:56:16 · 215 阅读 · 0 评论 -
复杂链表的复制
//请实现函数ComplexListNode* Clone(ComplexListNode* pHead),复制一个复杂链表。//在复杂链表中,每个结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSlibling//指向链表中的任意结点或者NULL。#include using namespace std;struct ComplexListNode{ int m原创 2016-05-20 15:36:16 · 186 阅读 · 0 评论 -
mysql在windows下的安装
现在人脸的特征点存储是文件形式,想把它存储到数据库中。1. 先到官网下载mysql。选择相应的版本。http://dev.mysql.com/downloads/mysql/我选择的是:64位的。(因为我们现在的项目都是生成64位的。)然后解压到你要安装的目录。比如,我的是c:\Program Files2. 以管理员权限打开cmd到bin目录。附原创 2016-05-09 16:41:40 · 574 阅读 · 0 评论 -
用C++写一个不能被继承的类
//用c++设计一个不能被继承的类//方法1:把构造/析构函数设为私有,但这样就不能实例化了。//于是定义公有的静态函数来创建和释放类的实例。class sealedClass0{private: sealedClass0() {} ~sealedClass0() {}public: static sealedClass0* GetInstance() { return原创 2016-06-14 11:43:39 · 200 阅读 · 0 评论 -
表示数值的字符串
//请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串“+100”、//“5e2”、"-123"、"3.1416"及"-1E-16"都表示数值,但“12e”,"1a3.14",“+-5”,"12e+5.4"都不是。#include "iostream"using namespace std;bool isNumber(char* str){ if (str =原创 2016-06-30 11:07:14 · 140 阅读 · 0 评论 -
二叉树的下一结点
//给定一颗二叉树和其中一个结点,如何找出中序遍历顺序的下一个结点?树中//的结点除了有两个分别指向左右子结点的指针外,还有一个指向父结点的指针。#include "iostream"using namespace std;struct treeNode{ treeNode* left; treeNode* right; treeNode* parent; int valu原创 2016-07-01 15:06:07 · 144 阅读 · 0 评论 -
NowCoder的密码
nowcoder是个数学迷,他最喜欢研究“哥德巴赫猜想”,因此他的计算机密码也都采用素数。 但一直用同一个密码是不安全的,所以他要经常更换他的密码。但他只允许自己的密码中出现某些数字,且密码的每一位都不相同。比如1 2 4,则有6种情况124 142 214 241 412 421。其中241 和 421为素数。为了获得他的密码(他的机器上存放了第4届舜禹杯大学生程序设计竞赛的题目!),需要生原创 2016-09-07 15:34:25 · 615 阅读 · 0 评论 -
优雅的点
求圆上的整点,输入半径的平方。#include "iostream"#include "string"#include "vector"#include "map"#include "set"#include "stack"#include "queue"#include "algorithm"using namespace std;int val;void s原创 2016-09-13 11:34:43 · 796 阅读 · 0 评论 -
机器人的运动范围
//地上有一个m行n列的方格。一个机器人从坐标(0,0)的格子开始移动,它每一次可以向//左右上下移动一格,但不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为//18时,机器人能够进入方格(35,37),因为3+5+3+7=18。但它不能进入方格(35,38),因为//3+5+3+8=19。请问该机器人能够到达多少个格子?#include "iostream"#include原创 2016-07-07 17:21:27 · 823 阅读 · 0 评论 -
矩阵中的路径
//请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。//路径可以从矩阵中任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条//路径经过了矩阵的某一格,那么该路径不能再次进入该格子。#include "iostream"#include "vector"using namespace std;//回溯法void construct_ca原创 2016-07-07 16:28:46 · 226 阅读 · 0 评论 -
回溯法
好久没看回溯法了,复习一下。回溯法最朴素的框架:根据需要,各部分可以稍加变动。直接看例子:1. 找子集。Constructing all subsets.#include "iostream"using namespace std;//1.constructing all subsets//how many subsets are there of an n-原创 2016-07-05 16:54:38 · 225 阅读 · 0 评论 -
滑动窗口的最大值
//给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值。例如,//如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,//它们的最大值分别是{4,4,6,6,6,5}。#include "iostream"#include "vector"#include "deque"using namespace std;vector max原创 2016-07-04 21:24:09 · 263 阅读 · 0 评论 -
数据流中的中位数
//如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是//所有数值排序后位于中间的数值。如果从数据流中读出偶数个数组,那么中位数就是//所有数组排序后中间两个数的平均值。//用两个堆来实现,维护一个最大堆和一个最小堆。两个堆的数目之差最多为1,//同时维护max(最大堆)<min(最小堆)#include "istream"#include "queue"原创 2016-07-04 18:29:14 · 562 阅读 · 0 评论 -
二叉搜索树的第K个结点
//给定一颗二叉搜索树,请找出其中的第K大的结点。#include "iostream"struct treeNode{ treeNode* left; treeNode* right; int value;};treeNode* kthNode(treeNode* pRoot, int k, int *ith){ if (pRoot == NULL) return原创 2016-07-03 16:57:57 · 219 阅读 · 0 评论 -
二叉搜索树的序列化和反序列化
//请实现两个函数,分别用来序列化和反序列化二叉树。#include "ostream"#include "istream"using namespace std;struct treeNode{ treeNode* left; treeNode* right; int value;};//前序遍历,遇null化特殊字符$。void serialize(treeN原创 2016-07-03 16:37:32 · 593 阅读 · 0 评论 -
按之字形顺序打印二叉树
//请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,//第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。#include "iostream"#include "stack"using namespace std;struct treeNode{ treeNode* left; treeNode* right; int原创 2016-07-01 17:15:42 · 199 阅读 · 0 评论 -
把二叉树打印成多行
//请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,//第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。#include "iostream"using namespace std;struct treeNode{ treeNode* left; treeNode* right; int value;};#inclu原创 2016-07-01 16:25:56 · 224 阅读 · 0 评论 -
对称的二叉树
//请实现一个函数,用来判断一颗二叉树是不是对称的。如果一颗二叉树和它的镜像一样,//那么,它是对称的。#include "iostream"struct treeNode{ treeNode* left; treeNode* right; int value;};bool symmetricalSubtree(treeNode* rightTree, treeNode*原创 2016-07-01 15:51:48 · 213 阅读 · 0 评论 -
swap:临时变量vs和交换vs位运算 时间对比
/*1 编写一个函数,不用临时变量,直接交换两个数*/void swap0(int* a, int* b){ int temp; temp = *a; *a = *b; *b = temp;}void swap1(int* a, int* b){ *a = *a + *b; *b = *a - *b; *a = *a - *b;}void swap2(int *a, i原创 2016-05-08 21:28:06 · 1122 阅读 · 0 评论 -
栈的压入、弹出序列
//输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。//假设压入栈的所有数字均不相等。例如序列1、2、3、4、5是某栈的压栈序列,序列4、5、3、2、1是//该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。#include "iostream"#include "stack"using namespace std;原创 2016-05-18 19:50:23 · 184 阅读 · 0 评论 -
二进制中1的个数
//输入一个整数,输出该二进制表示中1的个数。#include "limits"#include "iostream"using namespace std;int binCountOne0(int value) { int bits = sizeof(int) * 8; int count = 0; for (int i = 0; i < bits; i++) //循环原创 2016-05-14 21:03:12 · 189 阅读 · 0 评论 -
旋转数组找最小值
/*把一个组织最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。*/#include "iostream"#include "algorithm"using namespace std;int minRotatedArray0(int a[], int l, int u){ if (l == u) return原创 2016-05-14 20:05:03 · 205 阅读 · 0 评论 -
检测算法对比_测试
不同检测算法误检率、漏检率、检测时间对比测试:void main(){ DetectTask* d_task = NewDetectTaskInstance(60,"pico"); //给facedeletedll就是facedeletedll算法,根据参数,有不同的分配算法 FileSupport file; std::string root = "D:\\project\\we原创 2016-05-02 22:24:00 · 521 阅读 · 0 评论 -
员工年龄排序算法
//对公司几万员工年龄排序#include "vector"#include "iostream"using namespace std;void arrayPrint(int a[], int N){ for (int i = 0; i < N; i++) cout << a[i] << " "; cout << endl;}void sortAges0(int age原创 2016-05-13 10:16:05 · 481 阅读 · 0 评论 -
单链表逆向打印
/*输入一个链表的头结点,从尾到头反过来打印出每个结点的值*/struct ListNode{ int m_nKey; ListNode* m_pNext;};#include "vector"#include "iostream"using namespace std;void printReverseList0(ListNode* head){ vector tmp原创 2016-05-12 21:40:43 · 899 阅读 · 0 评论 -
mysql_xm
#include #include #include #include #include "filesupport.h"#include "mysql_driver.h"#include "mysql_connection.h"#include "cppconn/driver.h"#include "cppconn/statement.h"#include "cppconn/原创 2016-05-24 15:46:56 · 186 阅读 · 0 评论 -
从1到n整数中1出现的次数
/*输入一个整数n,求从1到n这个n个整数的十进制表示中1出现的次数。例如,输入12,从1到12这些整数中包含1的数字有1,10,11,12。1一共出现了5次*/#include "iostream"#include "algorithm"using namespace std;int count1Num(int num){ int count = 0; while (n原创 2016-05-24 10:55:36 · 200 阅读 · 0 评论 -
mysql connector c++测试
可以用connector c++操作mysql。1. 从官网下载对应的connector c++版本。http://dev.mysql.com/downloads/connector/cpp/我这里选择的是64位的noinstall版本。复制解压后的文件夹到相应的工程下。(方便移植,拷到别人电脑上的时候,不需要别人下载配置路径什么的。)2. 包含相对路径原创 2016-05-10 14:40:04 · 1034 阅读 · 0 评论 -
lib和dll的区别与联系
在用sql connector c++时,同时到了mysqlcppconn.lib和mysqlcppconn.dll两个文件,一时竟说不出它们的区别。。(1)lib是编译时用到的,dll是运行时用到的。如果要完成源代码的编译,只需要lib;如果要使动态链接的程序运行起来,只需要dll。(2)如果有dll文件,那么lib一般是一些索引信息,记录了dll中函数的入口和位置,dll中是函数的具体原创 2016-05-10 14:45:16 · 396 阅读 · 0 评论 -
pico在lfw上测试检测率
测试pico在lfw上的检测率。lfw给定的文件格式:每个名称文件夹下有一张或多张图片。#include "io.h"std::vector list_folders(std::string pathname){ std::vector folders; _finddata_t folder; std::string findpath = pathname + "\原创 2016-03-25 11:12:39 · 2527 阅读 · 2 评论 -
二元查找树变双链表
用最简单的方法做:/*输入一颗二元查找树,讲该二元查找树转换成一个排序的双向链表。要求不能创建任何新的节点,只调整指针方向。*/#include "iostream"#include "vector"struct BSTreeNode{ int m_nValue; // value of node BSTreeNode *m_pLeft; // left child of n原创 2016-03-16 15:20:47 · 257 阅读 · 0 评论