位图排序

位图排序: 任意个(MAX_NUMBERS个) 0到固定值(MAX_VALUE)之间的数排序 时间复杂度O(n), 空间几乎是O(1),空间需求很低 假定int的长度是32位,即一个int可以编码32个数字(简单起见,一个bit代表一个数字,实际可以编码的范围就是unsigned int的最大值,但计算比较复杂), 那么0到n之间的数字就可以用最多n/32+1个整形表示,每个int的每个bit代表一个数。。 #include <stdio...

作者: donotblock 发布时间: 01-06

dynamic_cast 操作符

我觉得c++提供的四个强制类型转换操作符中最有意思的就要数dynamic_cast,其他三个非常简单,不作赘述! dynamic_cast 将基类类型的指针或引用转换为同一继承层次中其他类型的引用或指针,与其他的强制类型转换不同的是,dynamic_cast涉及运行时类型检查,如果绑定到引用或指针的对象不是目标类型的对象,则dynamic_cast失败,如果转换指针类型的dynamic_cast失败,则dynami...

作者: dmastery 发布时间: 01-05

内聚度和耦合度

一、联系 当一个程序段或语句(指令) 引用了其它程序段或语句(指令)中所定义或使用的数据名(即存贮区、地址等)或代码时,他们之间就发生了联系。一个程序被划分为若干模块时,联系既可存在于模块之间,也可存在于一个模块内的程序段或语句之间,即模块内部。联系反映了系统中程序段或语句之间的关系,不同类型的联系构成不同质量的系统。因此,联系是系统设计必须考虑...

作者: sandroli 发布时间: 01-05

c#父子窗体间的自定义事件(static)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace ppop_client { public partial class MDI : Form { private int childFormNumber = 0; public MDI() { InitializeComponent(); } private void ShowNewForm(object sender, EventArgs e...

作者: cexoyq 发布时间: 01-05

拼图游戏(c语言)

这个拼图游戏是大一时的c语言课程设计: 说明: 游戏说明: 一、游戏难度: l--------------------------简单; m--------------------------一般; h--------------------------困难; 二、游戏玩法 按“↑”、“↓”、“←”、“→”使方块移动; 当结果为下列情况是获胜: 1、 1 2 3 4 5 6 7 8 2、 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3、 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...

作者: himdd 发布时间: 01-04

VC注释宏

其中包括全屏编辑、文件注释、类注释、函数注释四个宏。为了写程序更加方便,可以为这几个常用的宏添加快捷键。 Sub FullScreen() 'DESCRIPTION: 全屏编辑 ExecuteCommand "ToggleFullScreen" End Sub Sub AddHeadDesc() 'DESCRIPTION: 添加一个标准的头文件说明 ActiveDocument.Selection.StartOfDocument DefaultUserName = "mubai" Dim FileName FileName = ActiveDocume...

作者: wyangwo 发布时间: 01-04

实例解读网卡驱动

Tg3 Gbit NIC Driver Analysis 在此仅仅讨论网络设备驱动的一般写法,有关硬件部分的相关代码由于硬件规格不同,予以省略。有什么地方错误,或补充,欢迎大家提出。 1, 驱动模块的加载和卸载 如果网络设备(包括wireless)是PCI规范的,则先是向内核注册该PCI设备(pci_register_driver),然后由pci_driver数据结构中的probe函数指针所指向的侦测函数来初始化该PCI设备,并且...

作者: 空灵静世 发布时间: 01-04

C语言堆栈入门——堆和栈的区别【顶嵌原创】【转帖】

在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享...

作者: liliu4239 发布时间: 01-02

C++ std::string --- 你可能不知道的一些用法

toupper, tolower 地球人都知道 C++ 的 string 没有 toupper ,好在这不是个大问题,因为我们有 STL 算法: string s("heLLo"); transform(s.begin(), s.end(), s.begin(), toupper); cout << s << endl; transform(s.begin(), s.end(), s.begin(), tolower); cout << s << endl; 当然,我知道很多人希望的是 s.to_upper() ,但是对于一个这么通用的 basic_string 来说,的...

作者: sbso_1988 发布时间: 01-02

_USRDLL _AFXDLL _WINDLL 三种dll编译宏的具体含..

Building Your DLL When compiling regular DLLs that statically link to MFC, the symbols "_USRDLL" and "_WINDLL" must be defined. Your DLL code must also be compiled with the following compiler switches: /D_WINDLL signifies the compilation is for a DLL /D_USRDLL specifies you are building a regular DLL When compiling regular DLLs that dynamically ...

作者: icunow 发布时间: 01-02