• Python一日一练15----归并排序

    时间:2022-03-28 21:48:34

    介绍归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 归并排序的基本思路就是将数组分成二组A,B,如果这二组组内的数据都是有序的,那么就可以很方便的将这二组数据进行排序。可以将A,B组各自再分成二组。依次类推,当分出来的...

  • Python一日一练11----选择排序

    时间:2022-03-28 21:47:58

    介绍 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 代码 #coding=utf-8__author__ = 'a359680405'import...

  • Windows API一日一练(60)CreateIoCompletionPort和GetQueuedCompletionStatus函数

    时间:2022-03-04 19:34:31

    在 Windows 系统里,使用完成端口是高性能的方法之一,比如把完成端口使用到线程池和网络服务器里。现在就通过线程池的方法来介绍怎么样使用完成端口,高性能的服务器以后再仔细地介绍怎么样构造它。其实完成端口是一个队列,所有的线程都在等消息出现,如果队列里有消息,就每个线程去获取一个消息执行它...

  • Windows API一日一练(11)GetMessage函数

    时间:2022-03-04 19:34:25

    应用程序为了获取源源不断的消息,就需要调用函数 GetMessage 来实现,因为所有在窗口上的输入消息,都会放到应用程序的消息队列里,然后再发送给窗口回调函数处理。 函数 GetMessage 声明如下: WINUSERAPI BOOL WINAPI Ge...

  • Windows API一日一练(75)SystemParametersInfo函数

    时间:2022-03-04 19:34:19

    面对华丽的 Windows 桌面,工作的心情或许好很多,但是久了总会失去兴趣,总想定期地更新桌面的图片。软件开发人员又面对这样的需求了,需要怎么样去做呢?努力去找 API 函数吧。到目前为止,还有很多变桌面图片的软件,并且还能很挣钱的。其实设置桌面图片的需求,在目前数码相片处理软件也有现...

  • Windows API一日一练(70)GetSystemTime和GetLocalTime函数

    时间:2022-03-04 19:34:13

    时间是一个非常重要的信息,比如写 LOG 时,就需要把时间输出来,跟踪程序是什么时候出错的。或者当你开发一个银行交易系统时,就要记录当前交易的时间,以便后面可以输出报表,打印给信用卡用户。根据不同的需求,可能需要使用不同的时间,目前有 UTC 和本地时间。 UTC 是格林威治时间,也...

  • Windows API一日一练(89)OpenProcess函数

    时间:2022-02-20 05:54:40

    这一年来流氓软件特别多,面对这种非常恶心的软件,让大家非常痛苦。正是在这种环境之下,众多客户需要强大查杀这种流氓软件的工具。如果让你来开发一个查杀这种病毒的软件,你会怎么做呢?当然是先把电脑里所有进程遍历出来,然后把每个进程的详细信息显示给用户,让用户决定自己那些进程可以运行,那些不可以运行。或...

  • Windows API一日一练(81)FormatMessage函数

    时间:2022-02-20 05:54:28

    在开发软件的过程里,经常要做的工作就是调试程序,许多问题的出现,不但是逻辑的问题,还有可能是对API的不熟悉,或者某种条件下调用API会出错的。那么这些出错的原因是什么呢?通常只获取到错误码,也就是通过函数GetLastError得到。当然可以根据这个错误码去查找MSDN就可以知道出错的原因,但...

  • Windows API一日一练(17)DialogBox和DialogBoxParam函数

    时间:2022-02-12 19:34:08

    对话框是比较常用的窗口,比如当你想让用户输入一些参数时就可以使用对话框。或者提示一些警告的信息,都是可以使用对话框的。比如当你拷贝文件时, Windows 就会提示一个拷贝文件的进度对话框。对话框的使用范围比较广,并且它在设计时就可以看到运行的结果模样,这样方便设计。但对话框又分为两类,一种...

  • Windows API一日一练(13)TranslateMessage函数

    时间:2022-02-12 19:34:02

    TranslateMessage 是用来把虚拟键消息转换为字符消息。由于 Windows 对所有键盘编码都是采用虚拟键的定义,这样当按键按下时,并不得字符消息,需要键盘映射转换为字符的消息。 TranslateMessage 函数用于将虚拟键消息转换为字符消息。字符消息被投递到调用...

  • 【opencv一日一练】 GaussianBlur

    时间:2022-02-12 19:33:50

    GaussianBlur Blurs an image using a Gaussian filter. C++: void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY=...

  • Windows API一日一练(12)TranslateAccelerator函数

    时间:2022-02-12 19:33:44

      当应用程序运行时,用户按下快捷键,这样就产生了一个按键消息,那么 Windows 是怎么样把它转化为快捷键响应的消息呢?这就需要使用 TranslateAccelerator 函数。 TranslateAccelerator 函数主要的作用就是把消息跟快捷键表里定义的按键进行比较...

  • Python一日一练10----快速排序

    时间:2022-02-02 02:42:56

    基本思想 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 该方法的基本思想是: 1.先从数列中取出一个数作为基准数。 2.分区过程,将比这...

  • Python一日一练09----奇偶排序

    时间:2022-02-02 02:43:02

    原理 奇偶排序法的思路是在数组中重复两趟扫描。第一趟扫描选择所有的数据项对,a[j]和a[j+1],j是奇数(j=1, 3, 5……)。如果它们的关键字的值次序颠倒,就交换它们。第二趟扫描对所有的偶数数据项进行同样的操作(j=2, 4,6……)。重复进行这样两趟的排序直到数组全部有序。 代码...

  • Python一日一练07----冒泡排序

    时间:2022-02-02 02:42:56

    原理 冒泡排序是非常容易理解和实现,以从小到大排序举例: 设数组长度为N。 1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。 2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。 3.N=N-1,如果N不为0就重复前面二...

  • Python一日一练11----选择排序

    时间:2022-02-02 02:42:50

    介绍 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 代码 #coding=utf-8__author__ = 'a359680405'import...

  • Python一日一练15----归并排序

    时间:2022-02-02 02:42:38

    介绍归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 归并排序的基本思路就是将数组分成二组A,B,如果这二组组内的数据都是有序的,那么就可以很方便的将这二组数据进行排序。可以将A,B组各自再分成二组。依次类推,当分出来的...

  • Python一日一练13----插入排序

    时间:2022-02-02 02:42:32

    介绍 直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的纪录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的纪录插入完为止,得到一个新的有序序列。 源码 #coding=utf-8__author__ = 'a359680405'import time#运行时间...

  • Python一日一练08----鸡尾酒排序

    时间:2022-02-02 02:42:26

    概述鸡尾酒排序也就是定向冒泡排序, 鸡尾酒搅拌排序, 搅拌排序 (也可以视作选择排序的一种变形), 涟漪排序, 来回排序 or 快乐小时排序, 是冒泡排序的一种变形。此演算法与冒泡排序的不同处在于排序时是以双向在序列中进行排序。原理使用鸡尾酒排序为一列数字进行排序的过程可以通过下图形象的展示出来: ...

  • Python一日一练14----希尔排序

    时间:2022-02-02 02:42:20

    介绍 希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个...