- 博客(70)
- 收藏
- 关注
转载 C++类所占内存大小计算
文章出处:http://blog.csdn.net/chenchong08作者联系方式:vision_chen@yeah.net
2014-04-09 15:03:52 689
转载 浮点数在内存中的表示
2011年4月9日10:09:19c语言中的浮点数在内存中的表示(VC++编译器中):char:1个字节short:2个字节int:4字节long:4字节float:4字节(单精度)double:8字节(双精度) 参考:http://www.cnblogs.com/jillzhang/archive/2007/06/24/7939
2014-04-08 10:29:15 781
原创 C++编程练习(10)----“图的最小生成树“(Prim算法、Kruskal算法)
1、Prim 算法以某顶点为起点,逐步找各顶点上最小权值的边来构建最小生成树。2、Kruskal 算法直接寻找最小权值的边来构建最小生成树。比较:Kruskal 算法主要是针对边来展开,边数少时效率会非常高,所以对于稀疏图有很大的优势。Prim 算法针对顶点展开,对于稠密图,即边数非常多的情况下会更好。具体代码如下:
2014-04-03 19:45:17 1901
原创 C++编程练习(9)----“图的存储结构以及图的遍历“(邻接矩阵、深度优先遍历、广度优先遍历)
图的存储结构1)邻接矩阵用两个数组来表示图,一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中边或弧的信息。2)邻接表3)十字链表4)邻接多重表5)边集数组本文只用代码实现用邻接矩阵方式存储图。忘见谅。图的遍历1)深度优先遍历(Depth_First_Search,DFS)从图中某个顶点 v 出发,访问此顶点,然后从 v 的未被访问的邻接点出发深
2014-04-03 19:44:46 5771
原创 C++编程练习(8)----“二叉树的建立以及二叉树的三种遍历方式“(前序遍历、中序遍历、后续遍历)
树利用顺序存储和链式存储的特点,可以实现树的存储结构的表示,具体表示法有很多种。1)双亲表示法:在每个结点中,附设一个指示器指示其双亲结点在数组中的位置。2)孩子表示法:把每个结点的孩子排列起来,以单链表作存储结构,则n个结点有n个孩子链表,如果是叶子结点则此单链表为空。然后n个头指针又组成一个线性表,采用顺序存储结构,存放进一个一维数组中。3)孩子兄弟表示法:任意一棵树,它的结点
2014-03-31 22:00:32 1697
原创 C++编程练习(7)----“KMP模式匹配算法“字符串匹配
子串在主串中的定位操作通常称做串的模式匹配。KMP模式匹配算法实现:/* Index_KMP.h头文件 */#include#includevoid get_next(std::string T,int *next){ unsigned int i,j; i=1; j=0; next[1]=0; while(i<(T.size()-1)) /* 此处T的
2014-03-28 10:35:54 957
原创 C++编程练习(6)----“实现简单的队列的链式存储结构“
队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出。简称链队列。实现代码如下:/* LinkQueue.h 头文件 */#include#define OK 1#define ERROR 0typedef int QElemType;typedef int Status;class QNode{public: QNode():data(0),next(NUL
2014-03-26 20:42:12 927
原创 C++编程练习(5)----“实现简单的循环队列的顺序存储结构“
队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(First In First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。循环队列是一种头尾相接的顺序存储结构。具体实现代码如下:/* SqQueue.h 头文件 *//*循环队列,保留一个元素空间为空,用来区分队列是满还是空*/#include
2014-03-26 17:02:37 1046
原创 C++编程练习(4)----“实现简单的栈的链式存储结构“
如果栈的使用过程中元素数目变化不可预测,有时很小,有时很大,则最好使用链栈;反之,如果它的变化在可控范围内,使用顺序栈会好一些。简单的栈的链式存储结构代码如下:/*LinkStack.h*/#include#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int SElemType;typedef
2014-03-26 11:34:42 752
原创 C++编程练习(3)----“实现简单的栈的顺序存储结构“
栈(stack)是限定仅在表尾进行插入和删除操作的线性表。允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)。栈又称为后进先出(Last In First Out)的线性表,简称为LIFO结构。用数组方式实现简单的栈的代码如下:/* SqStack.h*/#include#define OK 1#define ERROR 0#define TRU
2014-03-26 10:11:01 768
原创 C++编程练习(2)----“实现简单的线性表的链式存储结构“
单链表采用链式存储结构,用一组任意的存储单元存放线性表的元素。对于查找操作,单链表的时间复杂度为O(n)。对于插入和删除操作,单链表在确定位置后,插入和删除时间仅为O(1)。单链表不需要分配存储空间,只要有就可以分配,元素个数也不受限制。链式存储结构中,结点由存放数据元素的数据域和存放后继结点地址的指针域组成。具体代码如下:#include#define OK 1
2014-03-25 20:12:04 847
原创 C++编程练习(1)----“实现简单的线性表的顺序存储结构“
线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。故可以用数组来实现顺序存储结构。用C++编写的利用数组实现简单的读取、插入和删除功能的线性表。#include#define MAXSIZE 20#define OK 1#define ERROR 0#define TURE 1#define FALSE 0typedef int Status;
2014-03-25 09:25:04 1115
转载 struct和typedef struct彻底明白了
原文地址:http://www.cnblogs.com/qyaizs/articles/2039101.htmlstruct和typedef struct分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }St
2014-03-11 11:41:17 623
转载 C/C++语法知识:typedef struct 用法详解
第一篇:typedef struct与struct的区别1. 基本解释typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。至于typedef有什
2014-03-11 11:00:32 579
转载 不是技术牛人,如何拿到国内IT巨头的Offer (转载)
原文地址:http://blog.csdn.net/lsldd/article/details/13506263不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰。看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic...在跪拜之余我们不禁要想,和这些牛人比,作为绝大部分技术屌丝的同学们,是否真的与国内IT巨头遥不可及呢?当你打开这
2014-03-06 21:12:37 673
原创 笔试客观题-----每天收集一点点
1、60年代的哈尔滨。一天,一个小商店里来了一位不速之客。他对售货员说:我是南方人到哈尔滨出差,想带哈尔滨特产的“哈尔滨、迎春、葡萄”香烟回去给大伙尝一尝。我现在只有3元钱,全都买烟。当时的价格分别是0.29元、0.27元和0.23元。售货员经计算后,满足了他的要求。这位南方人不同品牌的香烟各买了几盒?--------------------------------------------
2014-03-03 11:47:51 2333
原创 <C++Primer>第四版 阅读笔记 第一部分 “基本语言”
之前阅读时没有及时总结,现在慢慢补上。第1章 快速入门main 函数在很多方面都比较特别,其中最重要的是每个C++程序必须含有 main 函数,且 main 函数是(唯一)被操作系统显示调用的函数。main 函数的返回值必须是 int 型。endl 是一个特殊值,称为操纵符(manipulator),将它写入输出流时,具有输出换行的效果,并刷新与设备相关联的缓冲区(buff
2014-02-20 16:25:33 901
原创 <C++Primer>第四版 阅读笔记 第四部分 “面向对象编程与泛型编程”
继承和动态绑定与数据抽象一起成为面向对象编程的基础。模板使我们能够编写独立于具体类型的泛型类和泛型函数。第15章 面向对象编程面向对象编程基于三个基本概念:数据抽象、继承和动态绑定。在C++中,用类进行数据抽象,用派生类从一个类继承另一个类:派生类继承基类的成员。动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义的函数。继承和动态绑定在两个方面简化了
2014-02-18 21:53:01 633
原创 <C++Primer>第四版 阅读笔记 第三部分 “类和数据抽象”
类定义了数据成员和函数成员:数据成员用于存储与该类类型的对象相关联的状态;而函数成员则负责执行赋予数据意义的操作。第12章 类一个类可以包含若干公有的、私有的和受保护的部分:在public部分定义的成员可被使用该类型的所有代码访问;在private部分定义的成员可被其他类成员访问。所有成员必须在类的内部声明。const成员函数不能改变其所操作的对象的数据成员
2013-12-30 20:34:58 751
原创 <C++Primer>第四版 阅读笔记 第二部分 “容器和算法”
泛型算法中,所谓“泛型(generic)”指的是两个方面:这些算法可作用于各种不同的容器类型,而这些容器又可以容纳多种不同类型的元素。第9章 顺序容器顺序容器的元素排列次序与元素值无关,而是由元素添加到容器里的次序决定。IO库类型不支持复制或赋值。因此,不能创建存放IO类型对象的容器。定义容器的容器时,注意使用空格:vector > lines;
2013-10-22 21:30:35 843
原创 Ubuntu下用apache+perl搭建最简单的聊天室
最近学习了下perl,尝试自己搭建一个聊天室,现已搭建成功,但设计方法很简陋,误见笑,收获在于对apache、html、perl都有了些许认识,后面打算学习LAMP(Linux+Apache+MySQL+PHP)搭建一个在线听歌网页。操作系统:Ubuntu 12.04.2 LTSlinux内核:Linux ubuntu 3.5.0-23-generic #35~precise1-U
2013-05-03 09:09:04 2245
原创 心情随笔
没有具备一定的基础知识,你连和别人讨论的资格都没有。事不过三和一个人每次开会交流就是单方面的质疑询问加责骂,这是ta不会交流,还是我让ta无语了。有时对自己感到迷茫了,别人一下子点透了,犹如醍醐灌顶。有时别人比你更懂你自己。
2013-02-27 11:19:33 438
转载 多路由表(multiple Routing Tables) 的一篇文章
很早以前收藏的文章,来源给忘记标注了,实在是不好意思多路由表(multiple Routing Tables) 传统的路由算法是仅使用一张路由表的。但是在有些情形底下,我们是需要使用多路由表的。例如一个子网通过一个路由器与外界相连,路由器与外界有两条线路相连,其中一条的速度比较快,一条的速度比较慢。对于子网内的大多数用户来说对速度并没有特殊的要求,所以可以让他们用比较慢的路
2013-02-21 11:38:18 5601 2
转载 虚拟网卡 TUN/TAP 驱动程序设计原理
来源:http://www.ibm.com/developerworks/cn/linux/l-tuntap/简介: 本文将介绍 TUN/TAP 驱动的使用并分析虚拟网卡 TUN/TAP 驱动程序在 Linux 环境下的设计思路。简介虚拟网卡Tun/tap驱动是一个开源项目,支持很多的类UNIX平台,OpenVPN和Vtun都是基于它实现隧道包封装。本文将介绍t
2013-02-21 11:20:41 762
转载 Linux中利用RAW SOCKET直接通过网卡收发数据
来源: http://blog.sina.com.cn/s/blog_5eb41f5a0100f9ch.html问题背景:公司原来为了搜索局域网内的网络视频解码器开发了一个Decoder Finder,用的是UDP广播的方式。现在韩国的客户发现当IP地址和PC不在同一网段时,无法搜索到decoder,人家还找了一个他们的软件,暴强,就算是IP地址全是0,照搜不误。问
2013-02-21 11:10:56 5698
转载 Ubuntu 10.04下实现双网卡负载均衡
来源:http://www.shyw.net/read-yx-tid-215064-1-1.htmlhttp://www.mike.org.cn/articles/ubuntu-nic-balancing/ 什么是bondingLinux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余。将多块网卡虚拟成为一块网卡,使其具
2013-02-21 10:42:06 764
原创 linux指令学习小笔记,不断更新。
都是一些零散的小知识,在学习中不断完善。知识一. 解释执行:执行效率高,但与平台有关。 编译执行:执行效率低,但具有平台无关性。 知识二. gcc –Wall 选项:让GCC提供所有的警告信息。 知识三. 字符常量用单引号括起来,eg‘}’ (注意:单引号只能括一个字符) 知识四. 在UNIX系统中,管道是一种先进先出的单向数据通路。利用管道
2013-02-21 10:31:33 547
原创 linux C 学习中的一些小笔记,不断更新
都是一些零散的东西,没有连贯性。知识一. printf也有返回值,表示实际打印的字符数。 知识二. 系统头文件通常位于/usr/include目录下。 知识三. 使用math.h中声明的库函数有一点特殊之处,gcc命令行必须加-lm选项,因为数学函数位于libm.so库文件中(这些库文件通常位于/lib目录下),-lm选项告诉编译器,我们程序中用到的数学函数
2013-02-21 10:18:50 436
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人