自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(24)
  • 收藏
  • 关注

转载 冒泡排序--python

def bubbleSort(nums): i = len(nums) - 1 while (i > 0): last_index = 0 for j in range(i): if nums[j] > nums[j+1]: ...

2017-09-01 23:18:00 75

转载 windows下C++高精度计时

写代码时,经常会计算某一段代码的运行时间,以下提供一个微秒级别的类供参考class CTimeCost { public: CTimeCost(const string &str) : m_str(str) { QueryPerformanceFrequency(&...

2016-10-11 10:36:00 107

转载 堆排序

堆排序//堆是一棵完全二叉树或近似完全二叉树;若任何一非叶子节点i满足:value[i] <= value[2i+1] && value[i] <= value[2i+2]则称为小顶堆;若任何一非叶子节点i满足:value[i] >= value[2i+1] &&value[i] >= value[2i+2]则称为大顶堆;...

2016-09-27 17:08:00 70

转载 归并排序

归并排序:基本思想:把待排序序列分成相同大小的两个部分,依次对这两部分进行归并排序,完毕之后再按照顺序进行合并。时间复杂度: O(nlog2n)-->O(nlog2n)空间复杂度:O(1)是否稳定排序:稳定#pragma once//merge ordered array a[left:i] & array[i + 1:right] to b...

2016-07-18 20:53:00 81

转载 希尔排序

希尔排序:可看作直接插入排序的改进版.基本思想:将整个待排序序列,按照一定的间距gap分割成若干个子序列.然后再分别进行直接插入排序.最后,对全体元素进行直接插入排序.时间复杂度:O(n)-->O(n^2)空间复杂度:O(1)是否稳定排序:不稳定void ShellSort(int array[], int n){ for (in...

2016-07-15 16:32:00 69

转载 快速排序

快速排序基本思想:1.选择一个基准哨兵元素,通常选择第一个或者最后一个元素(可改进);2.通过一趟排序讲待排序的记录分割成独立的两部分,其中一部分记录的元素值均比基准元素值小。另一部分记录的元素值比基准值大;3.此时基准元素放入正确位置;4.然后分别对这两部分记录用同样的方法继续进行排序,直到整个序列有序;时间复杂度:O(nlog2n)-->O(n^2)...

2016-07-15 13:38:00 102

转载 直接插入排序

直接插入排序是不断的将一个元素插入到已排序的序列中.时间复杂度:O(n)-->O(n^2)空间复杂度:O(1)是否稳定排序:稳定void insertSort(int *array, int n){ for (int i = 1; i < n; ++i) { int temp = array[i]; ...

2016-07-14 13:44:00 122

转载 冒泡排序

冒泡排序:对还未排序的序列,自前向后相邻元素依次比较和调整,让大的元素下沉,小的元素上浮.时间复杂度:O(n)-->O(n^2)空间复杂度:O(1)是否稳定排序:稳定void bubbleSort(int *array, int n){ int i = n - 1; while (i > 0) { in...

2016-07-13 16:21:00 61

转载 直接选择排序

直接选择排序:直接选择排序实质是一种交换排序.每次从待排序序列中选取关键字最小的元素,与当前元素交换,直到全部排序.时间复杂度:O(n^2)-->O(n^2)空间复杂度:O(1)是否稳定排序:不稳定void selectSort(int *array, int n){ for (int i = 0; i < n; ++i) {...

2016-07-11 11:01:00 67

转载 error C2678

自定义结构类型,为支持插入到stl set或者排序,一种方式是重载operator<运算符成员函数.如果忘记将函数标识为const,则在编译时会报6>c:\program files (x86)\microsoft visual studio 10.0\vc\include\xfunctional(125): error C2678: binary '<' : no...

2016-05-28 17:41:00 141

转载 多线程相关------临界区CriticalSection

多线程一直是短板,整理相关知识方便查询临界区(Critical Section)临界区是一段供线程独占式访问的代码.在任意时刻,若有一个线程正在访问该代码段,如果其他所有试图访问的线程都将被挂起,直到访问的线程离开该代码段才可进入,保证线程安全. 适用于控制数据访问. 因其线程所有权其可以用于线程间互斥,而不能用于同步.相关函数InitializeCriticalSect...

2016-05-26 14:13:00 92

转载 多线程相关------事件Event

Event可以实现不同进程中的线程同步.相关函数:CreateEvent创建或打开一个事件对象HANDLE WINAPI CreateEvent( _In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes, _In_ BOOL bManualReset, _In_ ...

2016-05-25 22:41:00 134

转载 多线程相关------信号量Semaphore

Semaphore用于对资源进行计数.允许一定数量的线程同时访问该资源.可以用于进程间同步相关函数CreateSemaphore 创建或打开一个信号量对象HANDLE WINAPI CreateSemaphore( _In_opt_ LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, _In_ LONG ...

2016-05-24 22:05:00 120

转载 多线程相关------互斥量Mutex

互斥量(Mutex)互斥量是一个可以处于两态之一的变量:解锁和加锁.只有拥有互斥对象的线程才具有访问资源的权限.并且互斥量可以用于不同进程中的线程的互斥访问.相关函数:CreateMutex用于创建互斥量HANDLE WINAPI CreateMutex( _In_opt_ LPSECURITY_ATTRIBUTES lpMutexAttributes, ...

2016-05-24 16:25:00 112

转载 使用holder进行内存管理

在C++中,我们使用new 和delete进行自己的内存管理.void test_func(){ someType *ptr = new someType; //使用ptr ptr->function(); delete ptr; ptr = nullptr;}View Code函数开始创建一...

2015-12-03 15:33:00 136

转载 线程知识整理(一)

线程与进程的关系及区别定义: 进程Process是具有一定独立功能的程序关于某个数据集合的一次运行活动, 是系统进行资源分配和调度的一个独立单位. 线程Thread是进程的一个执行实体, 是CPU调度和分派的基本单位, 是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点运行中必不可少的资源(如程序计数器,一组寄存器,栈),它可与同属一个进程的...

2015-11-24 14:25:00 70

转载 WM_COPYDATA进程间通信方案

连续在两个公司使用WM_COPYDATA实现进程间通信了,整理一下具体步骤:一. 进程A通过ShellExecute启动进程B, 将用于通信的窗口句柄hWndA(已强转为int值)通过命令行参数传递给进程B, B保存hWndA.二. 进程B组装消息COPYDATASTRUCT copyData, 将自己用于通信的窗口句柄hWndB包含在其中,发送WM_COPYDATA...

2015-11-13 14:56:00 113

转载 stl循环删除

struct st_data{ st_data(int i) : id(i) {} int id;};对于STL标准序列容器vector/deque/list(以vector为例)当我们需清空容器vector<st_data*> vec时, 只需简单循环遍历即可 for (auto it = vec.b...

2015-10-27 17:47:00 201

转载 DoModal时带出次级窗口闪现

最近在做MFC 界面开发. 在一个CDialog窗口DoModal模态显示时, 会将次级窗口带出闪现(比如将一个窗口active, 然后点击我现在程序需要弹框的按钮,弹出弹出正常,但原来active的窗口会有一次闪现).几经周折, 才发现是因为Dialog窗口中一个控件属性中包括WS_EX_TOPMOST,且初始为WS_VISIBLE.只需将初始的WS_VISIBLE去除即可转载...

2015-10-27 10:01:00 111

转载 UI控件闪烁及刷新

我们常常在一个窗口上放置很多控件,在改变窗口大小时,控件会跟着一起闪烁...此时,可以将窗口添加WS_CLIPCHILDREN属性即可.(如果包含多层,都需要WS_CLIPCHILDREN属性)默认情况下父窗口是会对子窗口背景进行绘制的,而WS_CLIPCHILDREN含义是要求父窗口不对子窗口区域进行绘制.转载于:https://www.cnblogs.com/...

2015-08-06 19:22:00 91

转载 多项目静态库资源

WTL中,可使用以下方式加载文件资源。CResource res;if( !res.Load(type, resource) ){  DWORD dd = GetLastError();  return NULL;}当resource为资源ID时,会出现错误1813,找不到映像文件中指定的资源类型其实具体原因是CResource中使用的::FindResource第...

2014-12-02 16:25:00 107

转载 CVTRES : fatal error CVT1100 , fatal error LNK1123:

CVTRES : fatal error CVT1100: duplicate resource. type:DIALOG, name:901, language:0x0804LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏WindowUI编程使用资源编号,重复时会报出这个错误.type告诉是什么类型资源冲突,name表示资源...

2014-11-20 09:53:00 175

转载 无聊的vs2010MFC菜单

动态增加菜单项,在以前是一件比较淡定的问题.但是...在VS2010中创建MFC单文档应用程序, 默认在MainFrm中有成员变量CMFCMenuBar m_wndMenuBar;这是什么BCG的东东,不淡定了,想用以前的GetMenu()和GetSubMenu(),发现都不靠谱,搜索一圈,发现解决方案是注释掉与m_wndMenuBar有关的所有代码.OK了...

2013-01-30 18:35:00 122

转载 CString Format

浮点型转换为CString, 当小数位数不断变化时, 可以使用 CString tempStr; tempStr.Format(_T("%%.%df"), m_iDigit);///m_iDigit为需要的小数位数然后再进行浮点数与CString的转换 CString cstr; cstr.Format(tempStr, fVal);转载于:https://www....

2012-12-12 15:46:00 107

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除