- 博客(37)
- 资源 (27)
- 收藏
- 关注
转载 归并排序
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。[cpp] view plain copy
2017-08-31 22:22:11 191
转载 二叉查找树(二)之 C++的实现
二叉查找树(二)之 C++的实现 概要上一章介绍了"二叉查找树的相关理论知识,并通过C语言实现了二叉查找树"。这一章给出二叉查找树的C++版本。这里不再对树的相关概念进行介绍,若遇到不明白的概念,可以在上一章查找。目录1. 二叉树查找树2. 二叉查找树的C++实现3. 二叉查找树的C++实现(完整源码)4. 二叉查找树的C++测试程序转载请注明出处:
2017-08-31 21:08:13 402
转载 二叉查找树
二叉查找树(一)之 图文解析 和 C语言的实现 概要 本章先对二叉树的相关理论知识进行介绍,然后给出C语言的详细实现。关于二叉树的学习,需要说明的是:它并不难,不仅不难,而且它非常简单。初次接触树的时候,我也觉得它似乎很难;而之所产生这种感觉主要是由于二叉树有一大堆陌生的概念、性质等内容。而当我真正的实现了二叉树再回过头来看它的相关概念和性质的时候,觉得原来它是
2017-08-31 21:06:59 307
转载 C++中的 多线程
有很多时候,我们希望可以在C++类里面对那些比较耗时的函数使用多线程技术,但是熟悉C++对象语法的人应该知道,C++类的成员函数的函数指针不能直接做为参数传到pthread_create,主要因为是C++成员函数指针带有类命名空间,同时成员函数末尾是会被C++编译器加上可以接收对象地址的this指针参数。因此需要将成员函数做一定的转化,将其转化为不被编译器加上this指针,而由我们自己来为该函数维
2017-08-30 08:03:48 499
转载 win下多线程,同步等简单应用
1. 互斥量,MutexQt下环境需要pro下加DEFINES -= UNICODE[cpp] view plain copy#include #include using namespace std; DWORD WINAPI Thread1(LPVOID lpParmeter); DWORD
2017-08-29 21:49:35 212
转载 TCP状态图解
Tcp状态机1、为什么建立连接需要三次握手,断开连接需要四次握手? 举例来说,C与S要可靠的沟通,沟通之前要又准备工作,沟通完了,要有清理工作。 沟通之前的准备工作 C:我要跟你说话,你注意听(SYN) S:好的(ACK),我也要跟你说话,你注意听(SYN) C:好的(ACK) ........ 交流过程中
2017-08-29 21:20:22 261
转载 c++ list, vector, map, set 区别与用法比较
List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]。Vector对于随机访问的速度很快,但是对于插入尤其是在头部插入元素速度很慢,在尾部插入速度很快。List对于随机访问速度慢得多,因为可能要遍历整个链表才能做到,但是对于插入就快的多了,不需要拷贝和移动数据,只需要
2017-08-29 18:34:12 265
转载 C++二义性
版权声明:本文为博主原创文章,未经博主允许不得转载。 二义性问题1.在继承时,基类之间、或基类与派生类之间发生成员同名时,将出现对成员访问的不确定性——同名二义性。2.当派生类从多个基类派生,而这些基类又从同一个基类派生,则在访问此共同基类中的成员时,将产生另一种不确定性——路径二义性。同名二义性同名隐藏规则——解决同名二义的方法
2017-08-29 13:10:21 629
转载 Vlan划分及其意义
VLAN是什么?如何划分VLAN?如何实现VLAN?VLAN有什么好处? VLAN可能用到的三层交换技术1. VLAN是什么? VLAN是虚拟局域网,是指网络中的站点不拘泥于所处的物理位置,而可以根据需要灵活地加入不同的逻辑子网中的一种网络技术。 基于交换式以太网的虚拟局域网在交换式以太网中,利用VLAN技术,可以将由交换机连接成的物理网络划分成多个逻辑子网。也就是
2017-08-28 14:23:02 21767
转载 基数排序
编程论到极致,核心非代码,即思想。所以,真正的编程高手同时是思想独到及富有智慧(注意与聪明区别)的人。每一个算法都是一种智慧的凝聚或萃取,值得我们学习从而提高自己,开拓思路,更重要的是转换思维角度。其实,我们大多数人都活在“默认状态”下。没有发觉自己的独特可设置选项-----思想。言归正传(呵呵!恢复默认状态),以下学习基数排序。【1】基数排序以前研
2017-08-28 08:58:31 244
转载 排序算法5
1、序言这是《漫谈经典排序算法系列》第五篇,给出了三种线性时间排序,分别是计数排序、基数排序、桶排序。各种排序算法的解析请参考如下: 《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解析及性能比较》《漫谈经典排序算法:三、冒泡排序 && 快速排序》《漫谈经典排序算法:四、归并排序》《漫
2017-08-27 13:31:46 254
转载 排序算法4
1、序言这是《漫谈经典排序算法系列》第四篇,解析了归并排序。 各种排序算法的解析请参考如下:《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解析及性能比较》《漫谈经典排序算法:三、冒泡排序 && 快速排序》《漫谈经典排序算法:四、归并排序》《漫谈经典排序算法:五、线性时间排序(计数、基数、桶排
2017-08-27 13:26:52 216
转载 排序算法3
1、序言这是《漫谈经典排序算法系列》第三篇,先解析了冒泡排序,然后引出快速排序,给出了快速排序的两种实现版本。各种排序算法的解析请参考如下:《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解析及性能比较》《漫谈经典排序算法:三、冒泡排序 && 快速排序》《漫谈经典排序算法:四、归并排序》《漫谈
2017-08-27 13:25:48 232
转载 排序算法2
1、序言这是《漫谈经典排序算法系列》第二篇,解析了各种插入排序算法。主要包括:直接插入排序、折半插入排序、表插入排序、希尔插入排序。每一种算法的开头都叙述了引出该算法的原因,然后给出代码,最后分析算法效率及和其他插入排序相比,优劣在哪里。各种排序算法的解析请参考如下:《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解
2017-08-27 13:23:08 185
转载 排序算法1
1、序言这是《漫谈经典排序算法系列》第一篇,该篇从最简单的选择排序算法谈起,由浅入深的详细解析两种选择排序算法的过程及性能比较。逐步揭露选择排序的本质及其基本思想。各种排序算法的解析请参考如下:《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解析及性能比较》《漫谈经典排序算法:三、冒泡排序 && 快速排序》
2017-08-27 13:22:06 296
转载 TCP状态转换图
TCP正常建立和关闭的状态变化 TCP连接的建立可以简单的称为三次握手,而连接的中止则可以叫做 四次握手。 建立连接 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收
2017-08-26 21:54:12 258
转载 sql之连接
内连接: 只连接匹配的行左外连接: 包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行右外连接: 包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行全外连接: 包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行。交叉连接: 生成笛卡尔积-它不使用任何匹配或者选取条件,而是直接将一个数据源中的每个行与
2017-08-22 08:44:28 170
转载 排序算法
最近看排序算法的书籍,记录下自己的心得和总结。关于几种常见排序的原理和实现。(快速排序借了别人的步骤描述,可以很清晰的理解每一趟怎么跑的)首先说下稳定排序和非稳定排序,简单地说就是所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,我们就说这种排序方法是稳定的。反之,就是非稳定的。 几个基本常见的排序,插入排序(包括直接插入,希尔插入,折半插入等),交
2017-08-20 19:42:11 196
转载 快速排序详解
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速
2017-08-19 09:53:40 201
转载 strcpy和memcpy
strcpy和memcpy都是标准c库函数,它们的特点:strcpy提供了字符串的复制,strcpy只用于字符串的复制,不仅复制字符串内容外,还会复制字符串的结束符。strcpy的函数原型是: char* strcpy(char* dest, const char* src);[cpp] view plain copychar
2017-08-15 20:01:35 383
转载 内存管理
计算存储的层次结构:当前技术没有能够提供这样的存储器,因此大部分的计算机都有一个存储器层次结构,即少量的非常快速、昂贵、易变的高速缓存(cache);若干兆字节的中等速度、中等价格、易变的主存储器(RAM);数百兆或数千兆的低速、廉价、不易变的磁盘。这些资源的合理使用与否直接关系着系统的效率。 1. 内存管理方法
2017-08-14 19:47:09 369
转载 C++ STL容器之 map
C++ STL容器之 mapmap 是一种有序无重复的关联容器。关联容器与顺序容器不同,他们的元素是按照关键字来保存和访问的,而顺序元素是按照它们在容器中的位置保存和访问的。map保存的是一种 key - value 的pair对象,其中 key 是关键字,value 是关键字对应的值。通过 key找到对应的 value。map中按照 key的大小升序排列pair对象。
2017-08-14 15:13:05 289
转载 视频压缩2
上面一篇文章提到了,视频压缩的目的是为了减少视频存储的空间或者视频传输带宽。既是存储和带宽相对廉价的今天,要实现视频的大容量存储(如视频监控)和实时传输,没有视频压缩几乎不可能。 视频压缩现状:视频压缩编码标准种类繁多,其中ITU下主导的H.26x系列和ISO主导的MPEG系列影响最大,应用最为广泛。早期,ITU下的H.26x主要应用于实时领域;ISO的MPEG系列(它包括
2017-08-13 20:36:03 252
转载 视频压缩1
要实现实时视频通信,除了需比与其它数据通信(语音,非实时视频,数据)更高的带宽外,还需要对视频信号进行较大的压缩。网络带宽正随着无线接入技术和有线传输技术的发展不断提升,但即使这样,如果不对视频信号进行必要的压缩,目前用户的接入带宽也是远远无法满足视频通信的要求。 假设用户接入网带宽为20M(在中国,有这种接入网带宽的用户很少吧?),如果用户想进行实时的视频通信(比如说你想跟
2017-08-13 20:35:25 214
转载 TCP/IP协议栈的基本工作原理
TCP/IP是互联网的核心协议,也是大多数网络应用的核心协议。就前面一段时间面试中问到的TCP/IP问题,这里给出一个简单的小结。 TCP由RFC793、RFC1122、RFC1323、RFC2001、RFC2018以及RFC2581定义。 (1) TCP概述a. TCP提供的是面向连接的全双工服务。TCP所有的数据会匹配到由源地址,目的地址,源端口
2017-08-10 16:19:56 1820
转载 C++ 单链表基本操作分析与实现 链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结
C++ 单链表基本操作分析与实现链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,链表比较方便插入和删除操作。 创建头节点
2017-08-10 15:06:39 4157
转载 数组、单链表和双链表介绍 以及 双向链表的C/C++/Java实现
概要线性表是一种线性结构,它是具有相同类型的n(n≥0)个数据元素组成的有限序列。本章先介绍线性表的几个基本组成部分:数组、单向链表、双向链表;随后给出双向链表的C、C++和Java三种语言的实现。内容包括:数组单向链表双向链表 1. C实现双链表 2. C++实现双链表 3. Java实现双链表转载请注明出处:http://w
2017-08-10 09:12:28 520
转载 Qt5.4下连接Mysql,QSqlDatabase: QMYSQL driver not loaded but available
首先来自这位国外大神的帮助 http://seppemagiels.com/blog/create-mysql-driver-qt5-windows, 同时我最希望我的这篇博客能够帮助一些朋友解决这个问题,我也是纠结了好久,搞得好烦,非常能理解那种心情。。。。网上的教程都是很老的版本,没有正确的教程,还是谷歌好,在国外找到了,还好该博客的英文不是很复杂啊。。。。我这篇主要写Windows,
2017-08-09 11:04:09 345
转载 计算机的原码, 反码和补码
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助! 一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式
2017-08-09 08:49:59 216
转载 C++中的STL中map用法详解
C++中的STL中map用法详解Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,
2017-08-07 10:22:49 325
转载 C++中的类模板详细讲述
一、类模板定义及实例化1. 定义一个类模板:1 templateclass 模板参数表>2 3 class 类名{4 5 // 类定义......6 7 }; 其中,template 是声明类模板的关键字,表示声明一个模板,模板参数可以是一个,也可以是多个,可以是类型参数 ,也可以是非类型参数。类型参数由关键字class或typename
2017-08-07 10:19:32 324
转载 今天看到的一个有趣面试题:return *this和return this有什么区别?
别跟我说, return *this返回当前对象, return this返回当前对象的地址(指向当前对象的指针)。 正确答案为:return *this返回的是当前对象的克隆或者本身(若返回类型为A, 则是克隆, 若返回类型为A&, 则是本身 )。return this返回当前对象的地址(指向当前对象的指针), 下面我们来看看程序吧:[cpp] view
2017-08-05 21:56:48 220
原创 程序的输出
#include intmain(){ staticchar *s[] = {"black", "white", "pink", "violet"}; char**ptr[] = {s+3, s+2, s+1, s}, ***p; p = ptr; ++p; p
2017-08-05 11:02:15 316
转载 DIY_DE2之DM9000A网卡调试系列例程(一)——准备工作
一、摘要 根据最近一段时间的工作,将DIY_DE2中的网卡DM9000A所涉及到的例程做了调试,接下来几篇博文将循序渐进的阐述这些例程的实现过程,涉及到的具体原理及理论将会另开博文叙述。本篇主要阐述一下调试例程前的准备工作。二、准备工作1、网线 经常接触的网线叫双绞线,双绞线有2种,直通线和交叉线,通常又把后者叫做双机互联线。前者用于连接计算机与交换机、HUB等
2017-08-03 14:49:55 513
转载 以太网,令牌网,FDDI,ATM到底是什么?有什么区别?
Ethernet 是LAN的一种 局域网(Local Area Network;LAN) 通常我们常见的“LAN”就是指局域网,这是我们最常见、应用最广的一种网络。现在局域网随着整个计算机网络技术的发展和提高得到充分的应用和普及,几乎 每个单位都有自己的局域网,有的甚至家庭中都有自己的小型局域网。很明显,所谓局域网,那就是在局部地区范围内的网络,它所覆盖的地区范围较小。局域
2017-08-02 20:32:53 21921 7
转载 Linux C++ 实现简易小型的Web服务器httpd
在这个简易版的Web服务器中,实现了GET静态数据,以及动态数据。------------------------------------------------------------------------------------------------2017.04.29更新增加POST方法,修改线程池,将任务队列的list 改成queue,改进线程池,使线程池能正确
2017-08-01 14:53:38 2615
转载 搭载web服务器
代码下载地址:http://download.csdn.net/detail/u010959074/9572149以下是项目介绍。学习提示:1. 在“桌面环境”中动手练习,若环境不流畅可选择WebIDE或字符界面。2. 在教程下方“课程问答”中提出问题,或“共享桌面”寻求远程帮助。3. 在教程下方“实验报告”中完成作业,记录心得。公开报告可以获得大家点评。
2017-08-01 14:23:17 632
QTFrame框架超多资源
2017-06-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人