上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 17 下一页

2013年1月18日

c++ 基本内置类型

摘要: c++定义了一组表示整数、浮点数、单个字符和布尔值的算术类型(arithmetic type)。另外还有一种特殊类型void,一般用作函数返回类型,或者void指针(void *:无类型指针,可以指向任意类型的数据。可用任意数据类型的指针对void指针赋值,因此常用void指针来作为函数形参,这样函数就可以接受任意数据类型的指针作为参数。)c++只规定每个算术类型的最小存储空间,并不阻止编译器使用更大的存储空间。比如int类型,编译器通常使用32 bit来存储。bool布尔型-char字符型8 bitwchar_t宽字符型16 bitshort短整型16 bitint整形16 bitlong长 阅读全文

posted @ 2013-01-18 17:56 zhuyf87 阅读(6980) 评论(0) 推荐(1) 编辑

简要记录浮点型数据的二进制存储格式

摘要: 浮点数包括float和double两种类型,float占32位,double占64位。其二进制存储格式遵循IEEE754标准。以float为例:符号位:正数为0,负数为1。以float型数据123.456为例,分析其二进制存储格式。首先将十进制数123.456转换为二进制数为:1111011. 01110100101111001(其中0.456如何转换为二进制?不断乘以2…)。1111011. 01110100101111001即1. 11101101110100101111001乘以2的6次方。首先这是一个正数,则符号位为0。阶码为6,不过要转换成移码,6的移码为10000101。尾数则为1 阅读全文

posted @ 2013-01-18 17:38 zhuyf87 阅读(844) 评论(0) 推荐(0) 编辑

2013年1月16日

归并排序的代码实现(递归与非递归)

摘要: #include <iostream>using namespace std;//----------------------------------------------------------// 归并排序(递归实现)// 将有二个有序数列data[first...mid]和data[mid...last]合并void Merge(int data[], int first, int mid, int last, int temp[]){ int i = first, j = mid + 1; int m = mid, n = last; int k = 0; ... 阅读全文

posted @ 2013-01-16 09:34 zhuyf87 阅读(382) 评论(0) 推荐(0) 编辑

2013年1月15日

归并排序的实现

摘要: 原文地址:http://blog.csdn.net/morewindows/article/details/6678165归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。//将有序数组a[]和b[]合并到c[]中void MemeryArray(int a[], int n, int b[], int m, int c[] 阅读全文

posted @ 2013-01-15 18:02 zhuyf87 阅读(246) 评论(0) 推荐(0) 编辑

排序算法的稳定性

摘要: 假设(关键字key)ki = kj(1≤i≤n, 1≤j≤n, i≠j),且在排序前的序列中(记录record)ri领先于rj(即i<j)。如果排序后ri仍领先于rj,则称所用的排序方法是稳定的;反之,若可能使得排序后的序列中rj领先ri,则称所用的排序方法是不稳定的。如下图,经过对总分的降序排序后,总分高的排在前列。此时对于令狐冲和张无忌而言,未排序时是令狐冲在前,那么它们总分排序后,分数相等的令狐冲依然应该在前,这样才算是稳定的排序,如果他们二者颠倒了,则此排序是不稳定的了。只要有一组关键字实例发生类似情况,就可认为此排序方法是不稳定的。排序算法是否稳定的,要通过分析后才能得出。【学 阅读全文

posted @ 2013-01-15 17:46 zhuyf87 阅读(245) 评论(0) 推荐(0) 编辑

模块“*.dll”已加载,但对DllRegisterServer的调用失败,错误代码为0x80070005

摘要: Win7系统注册Dll失败(regsvr32 C:\windows\sysWOW64\SkDeviceManage.dll),提示:模块“C:\windows\sysWOW64\SkDeviceManage.dll”已加载,但对DllRegisterServer的调用失败,错误代码为0x80070005解决方法是“以管理员身份运行”命令提示符,重新注册。 阅读全文

posted @ 2013-01-15 09:23 zhuyf87 阅读(17435) 评论(0) 推荐(0) 编辑

2013年1月13日

TCP 套接字函数

摘要: TCP(Transmission Control Protocol)为应用程序提供可靠的数据传输服务,它是网络编程中使用最广泛的一种(传输层)协议。使用TCP通信的两个应用程序,一个作为服务器,另一个作为客户端。下图是设计TCP程序的基本流程。服务器端会有两个socket(并发服务器会有多个),其中一个是侦听socket(图中srv),等待客户来建立连接。另一个是接收到客户端连接请求而建立的新的socket,用于与客户端交互(图中clt)。服务器启动时首先创建侦听socket srv,绑定本地地址,并在srv上侦听,调用accept后阻塞,直到有客户建立连接。accept返回一个新的socke 阅读全文

posted @ 2013-01-13 20:21 zhuyf87 阅读(1913) 评论(0) 推荐(1) 编辑

2013年1月11日

堆排序 c/c++实现

摘要: #include <iostream>using namespace std;void Swap(int & left_data, int & right_data){ int auxiliary = left_data; left_data = right_data; right_data = auxiliary;}//----------------------------------------------------------------------------------// 小顶堆// 从i开始,到其父节点,父节点的父节点...,依次检查、调整以符合“ 阅读全文

posted @ 2013-01-11 16:58 zhuyf87 阅读(4375) 评论(0) 推荐(0) 编辑

堆与堆排序

摘要: 原文地址:http://blog.csdn.net/morewindows/article/details/6709644堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆。下图展示一个最小堆:由 阅读全文

posted @ 2013-01-11 15:46 zhuyf87 阅读(275) 评论(0) 推荐(0) 编辑

2013年1月2日

单例模式 c++实现

摘要: singleton.h:#ifndef _SINGLETON_H_#define _SINGLETON_H_// Singleton 模式#include "sync.h"// #define NULL ((void *)0)template <typename T>class Singleton{private: Singleton() {}; // ctor hidden Singleton (Singleton const&); // copy ctor hidden Singlet... 阅读全文

posted @ 2013-01-02 22:42 zhuyf87 阅读(248) 评论(0) 推荐(0) 编辑

上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 17 下一页

导航