- 博客(58)
- 资源 (10)
- 收藏
- 关注
原创 读与复制.BMP文件
// 读与复制.BMP文件.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#include "Windows.h"#includeusing namespace std;bool readBMP(char *bmpName);bool
2011-11-30 21:11:07 2050
原创 C++学习之七、揭开C++I/O的神秘面纱
揭开C++I/O的神秘面纱 C++通过流(stream)机制来提供比C更先进的输入输出方法。每个流都有一个相关联的源和目的。包括控制台流、文件流、字符串流等。 1.控制台流:流输出:cout输出流方法:put() 和write()是原始的输出方法。这二个方法风别接受一个字符或字符数组,而不是取已经定义了某种输出行为的对象或者变量。传递给这二个方法的数据按照原来的格式输出
2011-11-30 18:40:06 4417 1
原创 C++学习之六、有效的内存管理
有效的内存管理 在程序中使用动态内存优点:1. 动态内存可以在不同的对象与函数之间共享。2. 动态分配的内存空间的大小可以在运行时确定。 预备知识:int i = 7;i实在栈上分配的。int *ptr;ptr = new int;指针ptr在栈上,而ptr指向的内存在堆上。int **handle;handle = new int*;*ha
2011-11-29 20:49:23 1825
原创 C++学习之五、理解C++疑难问题
理解C++疑难问题1. 引用 专业的C++代码都大量使用了引用。C++的引用是另外一个变量的别名。对引用的修改都会改变该引用所指向变量的值。可以把引用看成是一种隐式的指针,它可以免除获取变量地址和对指针解除引用的麻烦。也可以把引用看作是原变量的另一个名字。可以创建独立的引用变量、使用类中的引用数据成员、接受作为传递给函数和方法的参数、从函数和方法返回引用。(1).引
2011-11-29 15:02:54 1916
原创 C++学习之三、探索继承技术
探索继承技术 本文是基于大家已经知道继承技术的基础上强化一些知识 继承的客户视图:Super ↑ Sub类型的对象也是Super类型的对象,因为Sub是从Super继承而来的。Sub 指向对象的指针或者引用可以引用所声明类的对象或其任何子类对象。比如,指向Super的指针可以实际上指向Sub对象,对于引用也是这样。客户代码仍然只访问Super中
2011-11-27 21:42:59 1412 1
原创 C++学习之二、精通类和对象
精通类和对象 本文是基于大家已经知道类和对象的基础上强化一些知识 对象中的动态分配内存: 如果在对象中动态分配了内存,就应当在析构函数中释放该内存,所以此时需要自己编写析构函数。处理复制和赋值: 如果没有自己编写复制构造函数和赋值操作符,C++会帮你生成一个,这些编译器生成的方法分别递归地调用对象成员上的复制构造函数或赋值操作符。不过对于基本
2011-11-27 18:45:48 1393
原创 C++学习之一、掌握类和对象
掌握类和对象---本文是基于大家已经知道类和对象的基础上强化一些知识对象构造:在栈上使用构造函数唯一正确的方法:ClassName myclass(5);在堆上使用构造函数:ClassName *myclass = new ClassName(5);在栈上声明对象就会调用其构造函数,而在堆上可以声明一个类的对象指针,不必立即调用构造函数。在栈上调用默认构造函数要去掉
2011-11-26 21:28:20 1291
原创 C++建立通讯录XML文件(包含XML文件的各种操作)
C++建立通讯录XML文件(包含XML文件的各种操作)本程序用tinyxml解析器对xml文件对其进行解析,工程中只需添加并引用tinyxml的二个头文件和四个源文件tinyxml.h、tinystr.h、tinyxml.cpp、tinystr.cpp、tinyxmlerror.cpp、tinyxmlparser.cpp(有时需要修改一点东西,比如在vs下,这四个源文件需要添加#include
2011-11-26 16:56:56 3023
原创 C++学习之四、重载C++操作符
-----本文是基于大家已经知道重载C++操作符的基础上强化一些知识 为什么要重载操作符1. 让类表现得像内置数据类型一样2. 能够对程序中的表现有更多的控制 操作符重载的限制1. 不能增加新的操作符。2. 有些操作符不能重载3. 不能改变操作符的元数4. 不能改变操作符的优先级5. 不能重新定义内置类型的操作符操作符重载中的选择a.
2011-11-23 21:23:55 1302
原创 C++操作XML之创建(1)
C++操作XML之创建(1) -------------------------------------------XMLElement.h--------------------------------------------------#include#include#include#includeusing namespace std;class XMLEleme
2011-11-23 16:03:58 4468
原创 C++中int型与string型互相转换
像是C#,java等高级语言中,int转String类型都是很简单的,但是C++中比较麻烦: 代码来源:http://gstarwd.iteye.com/blog/547591 int 转换 string string int2str( int num) { if (num == 0 ) return " 0 " ;
2011-11-23 15:53:18 4554 2
原创 一次一密加密解密算法实现
// 一次一密加密解密算法实现.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#include#include#includeusing namespace std;#define MAX 1000string key = "";i
2011-11-22 20:54:16 6176
转载 C++string知识大全
string 是C++中的字符串。 字符串对象是一种特殊类型的容器,专门设计来操作的字符序列。C++ Primer书中首先谈到的是构造函数即初始化问题。书中提到了几种常见的构造函数string s1;string s2(s1);string s3("abce");string s4(n,'c');接下来是对string对象的读写:1.读入未知数目的string对象和
2011-11-22 20:16:12 6899 2
原创 C++文件操作学习
C++文件操作文件流对象:#includeifstream:输入流对象ofstream:输出文件流对象fstream:输入输出文件流对象ifstream file_in;ofstream file_out;fstream file_inout;打开文件一(利用构造函数):ofstream file_out(”c:\\...”,ios::out|ios::bi
2011-11-22 17:38:53 2752 1
原创 STL算法和函数对象
STL算法和函数对象 #include1. find() 在一个迭代器区间内查找一个特定元素,可以对任何类型容器的元素使用此算法。它会返回一个指示所找到元素的迭代器,或者是区间的末尾迭代器,可以查找容器中元素的一个子区间。vector::iterator it = find(myVector.begin()+1,myVector.end(),num);2. find_if() 类似
2011-11-21 22:10:19 2483 1
原创 用vector、 multimap、 list容器实现好友列表的各种操作 C++
用vector、 multimap、 list容器实现好友列表的各种操作 C++--------------------------------------------------BuddyList.h------------------------------------------------#include#include#include//using std::multim
2011-11-21 18:34:41 1583
原创 错误关联器 C++实现
-----------------------------------------------ErrorCorrelator.h----------------------------------------------#include#include#include#include//error 类声明class Error{public: Error(int p
2011-11-20 18:18:33 1081
原创 Array类模板实现
Array类模板实现---------------------------------------------Array.h------------------------------------------------------ #includeusing namespace std;templateclass Array{public: /* Array(
2011-11-18 19:51:11 2607
原创 哈希链表 操作大全 实现
哈希链表 操作大全 实现//------------------------------Struct.h---------------------- #define MAX 100struct ElemStruct{ char str[MAX]; char info[MAX]; ElemStruct *next;};struct TableStruct{
2011-11-17 21:13:04 1422
原创 BM模式匹配算法I C++实现
// BM模式匹配算法I.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#define MAX 200using namespace std;void get_dist(int *dist,char *t,const int lenT){
2011-11-16 16:48:55 2492
原创 KMP模式匹配算法 C++实现
KMP模式比配算法 // KMP模式比配算法.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#define MAX 1000using namespace std;char s[MAX],t[MAX];int next[MAX];//
2011-11-16 16:46:42 1562
原创 每对顶点间的最短距离 稀疏有向图Johnson算法 采用邻接表C++实现
每对顶点间的最短距离 稀疏有向图Johnson算法 C++实现// 稀疏有向图Johnson算法.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#define Infinity 65535#define MAX 100using namespa
2011-11-16 16:42:57 1620
原创 每对顶点间的最短距离 Floyd_Warshall算法 C++实现
// 每对顶点间的最短距离Floyd_Warshall算法.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#define MAX 100#define Infinity 65535#define NIL 65535using namespace
2011-11-14 22:28:25 1330
原创 每对顶点间的最短路径算法时间复杂度改进C++实现
// 每对顶点间的最短路径.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#define MAX 100#define Infinity 65535using namespace std;//L2[i][j]存储L1[i][j]*Lijin
2011-11-14 22:20:18 1488
原创 每对顶点间的最短路径C++实现
// 每对顶点间的最短路径.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#define MAX 100#define Infinity 65535using namespace std;//int L1[MAX][MAX];int L
2011-11-11 16:47:53 1318
原创 ACM食物链 C++实现
ACM食物链 Description动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是"1 X Y",表示X和Y是同类。 第二种说法是"2 X Y",表示X吃Y。 此人对N个动
2011-11-11 16:28:44 2835
原创 ACM黑箱子C++实现
ACM黑箱子Description有一个黑箱子,里面会按升序存储整数,你可以对黑箱子下达下面的指令:a. ADD n 将n加入黑箱子b. Get 获得一个数,这个数在黑箱子里的序号(从0开始计数)是Get的出现次数。黑箱子中最初存了一个数0,现给你一个操作序列,要你输出Get命令时获的那个数。输入:每行是一个命令,如果命令是”ADD”,则后面空一格,有一个整数。输入时保
2011-11-11 16:24:10 1480
原创 差分约束系统C++实现
差分约束:线性规划矩阵A的每一行包含一个1与一个-1,其他元素为0.因此,由Ax xj-xi其中1 解决方法:把n个未知元看成n的有向图的顶点,xj-xi可以证明 xi=β(v0,vi)(β(v0,vi)为顶点0到顶点i的最短路径长度)。所以就可以利用Bellm
2011-11-10 02:24:21 1486
原创 单源最短路径Bellman_Ford算法C++实现
// 单源最短路径Bellman_Ford算法.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#define MAX 100#define Infinity 65535typedef int WeiType;using namespace st
2011-11-09 22:27:46 1626
原创 单源最短路径Dijkstra算法C++实现
// 单源最短路径Dijkstra算法实现.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#define MAX 200#define Infinity 65535using namespace std;//边尾节点信息结构体struct
2011-11-09 20:26:34 4678
原创 ACM唯一的最小生成树C++实现
ACM唯一的最小生成树Description求一个非负权边的无向连通图的最小生成树,如果这个无向图存在两个或两个以上的最小生成树,就输出Not Unique,否则输出最小生成树的边的权值和。输入:第一行是一个整数K,表示有多少个测试用例,以后每个测试用例占m+1行。每个测试用例的第一行为两个整数n,m(3输出:每行输出一个测试用例的结果。如果这个无向图存在两个或两个以上的最
2011-11-08 22:29:26 2476
原创 最小生成树Prim算法实现(采用邻接表存储)C++实现
// Prim算法实现(采用邻接表存储).cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "stdafx.h"#include#define MAX 100#define Infinity 65535typedef int WeiType;
2011-11-08 20:00:26 6313
原创 最小生成树Kruskal算法实现C++实现
// Kruskal算法实现.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#define MAX 100typedef int WeiType;using namespace std;//struct Edge{ int no;
2011-11-08 18:06:56 5922
原创 求有向图的强连通分支(邻接表存储)C++实现
// 强连通分支(邻接表存储).cpp : Defines the entry point for the console application.//通过二次利用深度优先搜索访问节点,每次的深度优先搜索操作不同 #include "stdafx.h"#include#define MAX 100using namespace std;//深度搜索访问节点层次标志枚举变
2011-11-07 17:32:31 2571
原创 有向无回路图拓扑排序C++实现
// 有向无回路图拓扑排序.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#define MAX 100using namespace std;enum Color{white,gray,black};struct edgeNode{
2011-11-05 23:24:19 2805 1
原创 无向图的一节点到另一节点的最短路径(边数最少的路径)(采用邻接表存储)
// 无向图的一节点到另一节点的最短路径(边数最少的路径)(采用邻接表存储).cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#define MAX 100#define MAXQ 50using namespace std;struct edg
2011-11-05 20:20:31 4811
原创 无向图的深度优先搜索(采用邻接表存储)C++实现
// 图的深度优先搜索(采用邻接表存储).cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#define MAX 100using namespace std;struct edgeNode{ int no; //边端的序号 char i
2011-11-05 18:49:01 2993
原创 无向图的广度优先搜索(采用邻接表存储)C++实现
// 无向图的广度优先搜索(采用邻接表存储).cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#define MAX 100#define MAXQ 50using namespace std;struct edgeNode{ int n
2011-11-05 17:07:36 3234
原创 归并排序 C++实现
// 归并排序.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#define N 100using namespace std;typedef int DataType;//合并data1[begin...mid]和data1[mid+1.en
2011-11-05 03:08:45 3077 1
原创 希尔排序C++实现
希尔排序// 希尔排序.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#define N 100using namespace std;typedef int DataType;void shell_sort(DataType *data,
2011-11-04 23:09:32 1269
计算机硬件知识
2011-10-30
数据结构算法的实现(其中有flash播放)
2011-10-30
程序设计实践(ACM)
2011-10-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人