堆是用来表示元素集合的一种数据结构。与“堆内存”不同。堆的性质,第一:顺序性:任何结点的值都小于或者等于其子结点的值,这意味着最小元素位于根结点。 最大顶堆跟这个相反。第二个性质是形状:一种二叉树,最底层的叶子结点尽可能靠左分布,如果有n个结点,那么所有结点到根的距离不会超过logn。 下面用vector来实现堆: 我们规范的从下标1开始,函数定义如下...
原创 C++中内置了sor函数供排序,函数原型为: #include<algorithm> //所属头文件 sort(begin,end,cmp); //其中cmp参数可以省略,省略后默认升序排序 如果要进行降序排序,需要另外定义cmp函数: bool cmp(int a,int b){ //降序排序 return...
最近学习了chineseChess的Qt实现,把一些东西总结一下: 实现功能: 1.人人对战 2.人机对战 3.网络版 一、基础性工作:(人人对战) 1、棋盘和棋子的绘制(QPinter,drawLine(QPoint(0,0),QPoint(0,9))): 棋盘: 10行,9列,中间有楚河汉界;九宫格;兵和炮的梅花位置。 棋子:32颗棋子都是由圆圈...
1、画笔 有两种形式创建画笔 一是直接通过GetStockObject()函数来调用 二是通过创建画笔来调用 HPEN CreatePen( intfnPenStyle,// pen style intnWidth,// pen width COLORREFcrColor // pen color); 创建画笔后必须调用SelectObject函数来将起选入...
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。 消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在Windows...
这里是其中一个场景, 想了解其他的请绕行。 class 模板特例化: template<typename T, int v1> class A { public: A(T value) { a = value * v1; } T a = 0; }; template<typename T> c...
分享一套以前学习iOS开发时学习整理的资料,后面整套持续更新: oc数据类型 数据类型:基本数据类型、指针数据类型 基本数据类型:数值型、字符型(char)、布尔型、空类型(void) 指针数据类型:类(class)、id 数值型:整数类型int、浮点型float、double c和oc的基本数据类型 int:声明整型变量 double:声明双精度变量 f...
vector容器是笔试时最经常用到的容器,它实际是一个类模板,它所具有一些成员函数我们必须熟练使用,这样才会加快编程速度。 首先加头文件并定义: #include<vector> vector<int>vec; 1、获取vector里的元素个数 int len =vec.size(); 2、向vector添加元素 int temp;...
有些时候,为了图省力,我们没准会这样的调用一个函数 unordered_map< pair<int, int>, int > mp; 但是很显然的是,这样的写法是会报错的,因为pair还没有HASH键值。 error: call to implicitly-deleted default constructor of 'std::...
python内建数据结构 分类 数值型: int float complex bool 序列对象: 字符串str 列表list 元组tuple 键值对: 集合set 字典dict 数值型 (list float complex bool都是class) int:python3 中 int 就是长整型,没有大小限制 float:支持十进制和科...