1. 概述 排序算法是计算机技术中最基本的算法,许多复杂算法都会用到排序。尽管各种排序算法都已被封装成库函数供程序员使用,但了解排序算法的思想和原理,对于编写高质量的软件,显得非常重要。 本文介绍了常见的排序算法,从算法思想,复杂度和使用场景等方面做了总结。 2. 几个概念 (...
主要是多线程的互斥 文件 的查找 多线程互斥的框架 复制代码 代码如下://线程函数  UINT FinderEntry(LPVOID lpParam)  {      //CRapidFinder通过参数传递进来       CRapidFinder* pF...
我们经常会在C/C++程序中见到extern \"C\",这是一个很重要的概念。本文就来以实例形式讲述C/C++中extern \"C\"的作用。分享给大家供大家参考之用。具体分析如下: 作用:实现C和C++混合编程。 原理:C和C++编译器编译之后,函数名会编译成不同的名字,...
前言 C++函数对象是通过一张虚函数表来实现的。简称为V-Table。在这个表中,主是要一个类的虚函数的地址表,这张表解决了继承、重载的问题,保证其容真实反应实际的函数。 应用 假如我们实现了这样的一个单向链表: class LinkedListNode { int...
实现以下排序插入排序O(n^2) 冒泡排序 O(n^2) 选择排序 O(n^2) 快速排序 O(n log n) 堆排序 O(n log n) 归并排序 O(n log n) 希尔排序 O(n^1.25) 1.插入排序 O(n^2) 一般来说,插入排序都采用in-place在数...
C++ get()函数读入一个字符 get()函数是cin输入流对象的成员函数,它有3种形式:无参数的,有一个参数的,有3个参数的。 1) 不带参数的get函数 其调用形式为 cin.get() 用来从指定的输入流中提取一个字符(包括空白字符),函数的返...
这是对pthread线程的一个简单应用 1.      实现了线程池的概念,线程可以重复使用。 2.      对信号量,互斥锁等进行封装,业务处理函数中只需写和业务相关的代码。 3.      移植性好。如果想把这个线程池代码应用到自己的实现中去,只要写自己的业务处理函...
Q:关于结构体的对齐,到底遵循什么原则? A:首先先不讨论结构体按多少字节对齐,先看看只以1字节对齐的情况: #include <stdio.h> #include <string.h> #define PRINT_D(intValue)...
C++中直接初始化与复制初始化是很多初学者容易混淆的概念,本文就以实例形式讲述二者之间的区别。供大家参考之用。具体分析如下: 一、Primer中的说法 首先我们现来看看经典是怎么说的: “当用于类类型对象时,初始化的复制形式和直接形式有所不同:直接初始化直接调用与实参匹配的构造...
strcpy和memcpy都是标准C库函数,它们有下面的特点。 strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。 memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。 m...

我的博客

人生若只如初见,何事秋风悲画扇。