C语言开关宏定义的学习##__VA_ARGS__
最近写c程序,学到一种开关宏,极大提高程序的控制性:
#define __DEBUG
#ifdef __DEBUG
#define tnfs_print(format, ...) printf (format, ##__VA_ARGS__)
#else
#define tnfs_print(format, ...)
#endif
如果 定义了 __DEBUG (作为开关)
则调...
C++拾取——使用stl标准库实现排序算法及评测
今天看了一篇文章,讲各种语言的优势和劣势。其中一个观点:haskell非常适合写算法,因为使用者不用去关心具体的计算机实现,而只要关注于操作语义。这让它在专心研究算法的人中非常受欢迎。所以很多时候,语言的争论没有太多的意义,有意义的是它适不适合某些场景或者某些人。(转载请指明出于breaksoftware的csdn博客)
目前在网上讨论排序算法更多是C语言实现的。...
查看SqlServer2000的外键列表
select object_name(a.constid) fkname,
object_name(a.rkeyid) pktable,
object_name(a.fkeyid) rktable,
c.name pkcolumn,
b.name fkcolumn,
OBJECTPROPERTY( constid, N'CnstIsDeleteCascade') DeleteCascad
相似变换Sim3推导(C++实现)
C++实现:
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
Mat ComputeSim3(Mat &P1, Mat &P2);
// Sim3仿真
void main()
{
Mat p1_c1 = (...
迭代最近点ICP推导(C++实现)
C++实现:
#include <iostream>
#include <opencv2/opencv.hpp>
#include <Eigen/eigen>
using namespace cv;
using namespace std;
void ICP(const vector<Point3f>& pts1, const ...
CMake常用语法+包含常用库+工程目录组织
命令不区分大小写,变量名区分大小写,参数之间使用空格进行分隔
内置变量的使用:
•在CMakeLists.txt中指定,使用set
•cmake命令中使用,如cmake -DBUILD_SHARED_LIBS=OFF
ADD_DEFINITIONS
向 C/C++编译器添加-D 定义,比如:
ADD_DEFINITIONS(-DENABLE_DEBUG -DABC),参数之间用空...
(C/C++)(读/写)(二进制文件/文本文件)
C++写二进制文件
std::ofstream fout("a.dat", std::ios::binary);
int nNum = 20;
std::string str("Hello, world");
fout.write((char*)&nNum, sizeof(int));
fout.write(str.c_str(), sizeof(char)*(str.size()))...
二叉树遍历(C++实现)
二叉树3种深度优先遍历(递归、非递归)、层次遍历,最简洁、最好记!
#include<iostream>
#include<stack>
#include<queue>
using namespace std;
//节点定义
struct Node
{
char data;
Node *left;
Node *right;
Node(const ...
八皇后问题(C++实现)
问题描述:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。
#include<iostream>
using namespace std;
int ans;//解法数
int vis[9];//每行可放置的列
bool check(int r, int c)//检查该位置是否可行
{
for (int...
图解常见排序方法的时间复杂度
常见排序方法及其复杂度
几种复杂的表示方式:
O(1): 耗时/耗空间与输入数据大小无关
O(n): 就代表数据量增大几倍,耗时也增大几倍。比如常见的遍历算法。
O(n2),就代表数据量增大n倍时,耗时增大n的平方倍,这是比线性更高的时间复杂度。比如冒泡排序、递归算法,就是典型的O(n2)的算法,对n个数排序,需要扫描n×n次。
O( login)当数据增大n倍时,耗时增大logn倍(这里的lo...
【BZOJ 2679】[Usaco2012 Open]Balanced Cow Subsets
[Usaco2012 Open]Balanced Cow Subsets 题目描述 给出\(N(1≤N≤20)\)个数\(M(i) (1 <= M(i) <= 100,000,000)\),在其中选若干个数,如果这几个数可以分成两个和相等的集合,那么方案数加\(1\)。 求有多少种选数的方案。 输入输出格式 输入格式: * Line 1: The integer $ N$. * Lines 2..1+N: Line i+1 contains \(M(i)\). 输出格式: * Line 1:
DynamicSegmentTree
最近尝试了一下动态开点线段树,英文直译就是Dynamic Open Point Segment Tree,太SB了。 就跟之前的主席树写法差不多。 1 if(!x || x == y) {
2 x = ++tot;
3 } 主席树 1 if(!o) {
2 o = ++tot;
3 } 动态开点线段树 实际上当普通线段树用就行了...... 例题:洛谷P1908 逆序对 我们可以不离散化,使用动态开点,直接在1e9上开值域线段树。吸氧后堪堪A掉。 1 // luogu-jud
制作ubuntu16.04 自动安装iso镜像 二
isolinux.cfg default autoinstall prompt 0 timeout 100 menu title Custom Live CD menu background splash.png menu color title 1;37;44 label live menu label live - boot the Live System kernel /casper/vmlinuz append file=/cdrom/preseed/ubuntu.seed boot=
20172309_《程序设计与数据结构(下)》_课堂测试修改报告。
20172309_《程序设计与数据结构(下)》_课堂测试修改报告。 课程:《程序设计与数据结构》 班级:1723 姓名: 王志伟 学号:20172309 实验教师:王志强老师 实验日期:2018年6月13日 必修/选修: 必修 实验内容: 查找算法综合示例: 实验过程及结果 画出顺序查找的查找顺序表及成功查找平均长度 顺序表: 序列 11 78 10 1 3 2 4 21 查找次数 1 2 3 4 5 6 7 8 平均查找长度: ASL=(1+2+3+4+5+6+7+8)/8=4.5
Python学习-比较运算符和逻辑运算符
比较运算符 == 等于 - 比较对象是否相等 print(3 == 4); //False != 不等于 - 比较两个对象是否不相等 print(3 != 4); // True <> 等于 - 比较两个对象是否不相等 print(3 <> 4); // True > 大于 - 返回x是否大于y print(3 > 4); // False < 小于 - 返回x是否小于y print(3 < 4); // True >= 大于等于 -
js 实现发布订阅模式
/* Pubsub */ function Pubsub(){ //存放事件和对应的处理方法 this.handles = {}; } Pubsub.prototype = { //传入事件类型type和事件处理handle on: function (type, handle) { if(!this.handles[type]){ this.handles[type] = []; } this.handles[type].push(hand
今日推荐
周排行