自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (3)
  • 收藏
  • 关注

原创 早已移至博客园,csdn博客做的越来越差

此博客中文章皆为几年前写作,非常幼稚,请勿阅读。

2015-12-29 13:07:47 791

原创 Huffman编码---java实现

算法是准确的,目前程序还有一点点小bug

2014-08-22 22:44:56 1628

原创 二叉树基本操作--java实现

public class Node { //node class, the base of tree int data; int index; Node leftChild; Node rightChild;}

2014-08-22 22:40:39 678

转载 指令流水线的计算

若每一条指令都可以分解为取指、分析和执行三步。已知取指时间t取指=4△t,分析时间t分析=3△t,执行时间t执行=5△t。如果按串行方式执行完100条指令需要 (2) △t。如果按照流水方式执行,执行完100条指令需要(3) △t。(2)A.1190 B.1195 C.1200 D.1205 (3)A.504 B.507 C.508 D.510试题解析: 串行执行时,总执行时间=1

2014-08-19 21:02:32 2239

转载 java 中的printStackTrace()方法

java抛出异常的方法有很多,其中最常用的两个:System.out.println(e),这个方法打印出异常,并且输出在哪里出现的异常,不过它和另外一个e.printStackTrace()方法不同。后者也是打印出异常,但是它还将显示出更深的调用信息。比如说:A   extends --->   B   extends  ----> C当在创建A的过程中出现问题了,我们抛出异

2014-08-16 15:12:59 1632

原创 类初始化的顺序

类初始化的顺序为:成员变量,

2014-05-02 15:44:12 658

转载 基数排序

排序算法写了n种,可不像孔乙己一样考验"茴香豆"的"茴"字有几种写法,而是思维的一种拓展,等到使用的时候根据特定的场景变能灵活的选取更加合适的算法。今日所记录的是基数排序。一. 算法描述基数排序(以整形为例),将整形10进制按每位拆分,然后从低位到高位依次比较各个位。主要分为两个过程:(1)分配,先从个位开始,根据位值(0-9)分别放到0~9号桶中(比如53,个位为

2014-01-18 09:34:22 744

原创 随便写了个堆排序程序

#include using namespace std; void HeapAdjust(int num[],int low,int high){ int temp; //用于交换数据 temp = num[low]; for(int i = 2*low; i <= high; i *= 2){ if(i

2014-01-12 10:59:26 1009

原创 选择排序很简单

#include using namespace std;int main(){ printf("输入"); int thenum[11]; int i; for(i = 1; i < 11; i++) { cout << "输入第" << i << "个数" ; cin>>thenum[i]; } int j; int jj; for(i = 1; i <

2014-01-08 08:36:40 684

原创 随便写了个快速排序程序

#include using namespace std;int InsertSort(int num[],int low,int high){ int piov = 0; num[piov] = num[low]; while(low < high) { while(low num[piov]) high--; num[low] = num[

2014-01-08 08:35:01 9654

原创 C++初始化列表

与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。class foo{      public:      foo(string s, int i):name(s), id(i){} ; // 初始化列表     private:     string name ;i

2014-01-05 18:36:11 1339

转载 C++空类sizeof不为0

初学者在学习面向对象的程序设计语言时,或多或少的都些疑问,我们写的代码与最终生编译成的代码却 大相径庭,我们并不知道编译器在后台做了什么工作.这些都是由于我们仅停留在语言层的原因,所谓语言层就是教会我们一些基本的语法法则,但不会告诉我们为什么这么做?今天和大家谈的一点感悟就是我在学习编程过程中的一点经验,是编译器这方面的一个具体功能.首先:我们要知道什么是类的实例化,所谓类的实例化就是在内

2014-01-04 12:03:00 1054

原创 希尔排序

希尔排序是要分组插入排序,而后,统一起来进行排序。所以,那个决定分组的间距要不断缩短。在代码中,d即为间距。#include using namespace std; void SellSort(int a[], int M) { int i,j,d; int tmp; for(d = M

2013-11-13 18:42:13 1003

原创 迷宫问题求解

如果理解了栈,并会应用栈来解决问题,这个迷宫的问题并不难。主要就是不断的探路,将可行路径入栈,走不下去就出栈,继续由栈顶元素寻找新路。代码写的不算完美,但答案是正确的。不过按这个方法是没法找最优解的。/*求解迷宫问题2013.8.31by无名*/#include using namespace std;const int M = 8;const

2013-08-31 13:29:20 1075

转载 原来编译原理可以这么学

最近对数据结构的研究又有了进展,挺好玩的,总结这些内容的同时,希望也能帮助到大家,这样的话,达到双赢,这才是写博客的目的,接下来我们来轻松学习编译原理,不要被这些纸老虎吓着了。我们一步步来看到底是怎么个情况,该怎么学习呢。。。其实这部分内容在我上课的时候,是特别头疼的,不知道老师讲的什么,但是经过自己分析琢磨,感觉还好,能分析的差不多,所以就跟大家分享一下:文法:我们学习文法主要是

2013-08-04 08:23:52 1056

转载 编译原理基础:文法

乔姆斯基把方法分成四种类型,即0型、1型、2型和3型。这几种文法类型的概念一定要掌握,是一个非常重要的考点。对于这几种文法,一般书上都只有简单的概念介绍,比较抽象,所以很多学员都没有真正理解。下面我将把概念结合例题进行讲解。  0型文法  设G=(VN,VT,P,S),如果它的每个产生式α→β是这样一种结构:α∈(VN∪VT)*且至少含有一个非终结符,而 β∈(VN∪VT)*,则G是一个0

2013-08-03 17:11:15 1098

原创 八皇后问题求解

#include #include int State[8];int count = 0;class Queen{ public: void EightQueen(int n); //求解八皇后的主干程序 void ShowAnswer(); //用于输出结果 int Chec

2013-07-28 07:04:03 881

原创 比赛日程安排程序

比赛日程安排程序设计的关键在于理解分治法,和递归。另外将日程分治后,又要考虑如何将分开的日程合并,这就需要程序设计者自己观察,总结规律。//比赛日程安排#include #define MAXN 64int a[MAXN][MAXN + 1] = {0};void gamecal (int k, int n) //处理k开始的n个选手的日程{ int i,

2013-07-24 09:44:13 1569

转载 拓扑排序算法

对许多数据结构教材实在不满意,至少我是看不懂……至于拓扑排序算法,教材上那些伪代码真真教人头晕。只写了几个struct结构,我根本看不出这是邻接表。如果给出一个清晰明了的图,一切不就简单了?总之,关键就是建立一个邻接表。然后利用这个表进行拓扑排序。//边表结点声明typedef struct EdgeNode{ int adjvex; s

2013-07-22 10:21:19 898

原创 图---最短路径

#include#define VERTEX_MAX 26#define MAXVALUE 32767struct MatrixGraph{ int Vertex[VERTEX_MAX]; //保存顶点信息(序号或字母) int Edges[VERTEX_MAX][VERTEX_MAX];

2013-07-19 09:23:44 894 1

转载 最小生成树

#include#include#include#define MAX_VERTEX_NUM 20#define OK 1#define ERROR 0#define MAX 1000typedef struct Arcell{ double adj;}Arcell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];typedef st

2013-07-13 14:36:04 996

原创 非连通图生成树遍历

#include #include #define LEN sizeof(struct MatrixGraph)#define TEN sizeof(struct MatrixGraph)#define VERTEX_MAX 26#define MAXVALUE 32767struct MatrixGraph{ int Vertex[VERTEX_MAX];

2013-07-13 14:11:22 1617

原创 KMP算法

KMP匹配算法对我来说很复杂。目前只是有一些了解。                                 2013.6.10KMP算法远没有想象中那么难。要理解KMP算法,只需要理解这个就行了。以abaabcac为例j           1 2 3 4 5 6 7 8--------------------------模式串  a b a a b c

2013-07-03 20:43:15 649

原创 变量的生存期和可见性

在下面程序中体现了变量的生存期和可见性  #include using namespace std; int i = 1; //i为全局变量,具有静态生存期 int main() { static int a; //a为静态局部变量,具有全局寿命,局部可见 int b = -10;

2013-06-30 09:02:40 933

原创 C++语言异常处理

C++ 语言提供对处理异常情况的内部支持。try,throw,和catch语句就是C++语言中用于异常处理的机制。异常处理的语法throw 表达式try 复合语句catch(异常类型声明) 复合语句catch(异常类型声明) 复合语句 如果某段程序中发现了自己不能处理的异常,就可以使用throw表达式抛掷这个异常,

2013-06-29 16:20:05 720

原创 第一年的总结-------20岁

“为国战斗50年”第一年       “为国战斗50年”,快一年了,总结下。       今年主要忙于学习技术,进步还是有的,至少现在和一年前的自己相比,判若两人。一年后回首现在,还会是这个感觉。       技术正是这样的东西,一天没进步,两天没进步,三天没进步……但你不断坚持下去,不放弃的奋斗下去,一年过去了,两年过去了,暮然回首,竟发现自己已经走了这么远……所以,技术

2013-06-29 09:53:41 717

原创 五子棋

/*运行环境:VC++6.0。(需添加turbo图形库 网址:http://www.easyx.cn/skills/)算法改进中。按上下左右键控制光标。按空格落子。 */#include #include #include #include #include #include //设置偏移量#define OFFSET 20#define OFFSET

2013-06-29 09:07:00 838

原创 广度优先遍历

#include #include #define LEN sizeof(struct MatrixGraph)#define VERTEX_MAX 26#define MAXVALUE 32767struct MatrixGraph{ int Vertex[VERTEX_MAX]; //保存顶点信息

2013-06-29 08:54:08 656

原创 邻接矩阵深度优先遍历

#include#define VERTEX_MAX 26#define MAXVALUE 32767struct MatrixGraph{ int Vertex[VERTEX_MAX]; //保存顶点信息(序号或字母) int Edges[VERTEX_MAX][VERTEX_MAX];

2013-06-27 18:00:09 1745

原创 图-----邻接表

#include#include#define VERTEX_MAX 20#define NULL 0#define LEN sizeof(struct edgeNode)struct edgeNode{ int Vertex; //顶点信息 int weight;

2013-06-27 17:59:21 562

原创 C++ STL

istream_iterator:输入迭代器。vector V;copy (istream_iterator(cin), istream_iterator(), back_inserter(V));ostream_iterator:输出迭代器。vector V;//…copy (V.begin(), V.end(), ostream_iterator(cout, "\n"));

2013-06-22 10:05:51 651

原创 线索二叉树

#include #include#define LEN sizeof(struct ThreadBinTree)#define NULL 0enum NodeFlag{ SubTree, Thread}; //枚举值SubTree和Thread分别为0,1struct

2013-06-19 13:38:44 597

原创

#include #include static const int Maxlen = 100;using namespace std;typedef struct{ char ch[Maxlen]; int len;}String;class S{ public: S(){ //构造

2013-06-19 13:26:20 553

原创 二叉树的基本操作

#include#include#define LEN sizeof(struct ChainTree)#define NULL 0struct ChainTree{ int num; struct ChainTree *left; struct ChainTree *right;};/*函数功能:进行查找操作。*/ChainTree *BinTreeFind(ChainTr

2013-06-19 13:24:52 698

原创 排序法总结

首先记录一些基本的概念。1.排序方法的稳定性。假设i<j,且在排序前的序列中Ri领先于Rj,则称所用的排序方法是稳定的;反之,若可能使排序后的序列中Rj领先于Ri,则称所用的排序方法是不稳定的。(这是严蔚敏书上的原话,怎么感觉像是什么都没说一样。)2.内部排序。待排序记录在存放在计算机随机存储器中进行的排序过程。3.外部排序。待排序记录数量很大,以致内存一次不能容纳全部记录

2013-06-16 14:42:50 573

原创 函数模板与类模板

函数模板的定义形式:template 或类型名 函数名 (参数表){函数体的定义}#include using namespace std;template T abs (T x){ return x < 0? -x:x;}int main(){ int n = -5; double d = -5.5; cout << abs(n) << endl; co

2013-06-11 10:16:42 585

原创 数据结构---串

串的基本运算下面是我的代码实现:#include #include static const int Maxlen = 100;using namespace std;typedef struct{ char ch[Maxlen]; int len;}String;class S{ public: S(){

2013-06-09 21:06:16 768

原创 结构体作函数参数

#include typedef struct { int Ji; int Sa;}S;void Ha(S He){ printf("%d %d",He.Ji,He.Sa);}void main(){ S Hei; Hei.Ji = 0; Hei.Sa = 1; Ha(Hei);}

2013-06-08 16:12:51 615

原创 C++继承

开始研究C++继承。先自己写一个试试……#include using namespace std;class J{public: void JJ() { cout << "88" << endl; }};class S : public J{public: void SS() { cout << "99" << endl; }};void main()

2013-06-08 13:50:32 839

原创 约瑟夫环问题

#include#include#define NULL 0#define LEN sizeof(struct Josephus)struct Josephus{ int num; struct Josephus *next;};void main(){ printf("约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在"); printf(

2013-06-05 20:30:18 1025

《深入浅出MFC》随书附带代码

《深入浅出MFC》分为四大篇。第一篇提出学习MFC程序设计之前的必要基础,包括Windows程序的基本观念以及C++的高阶议题。“学前基础”是相当主观的认定,不过,基于我个人的学习经验以及教学经验,我的挑选应该颇具说服力。第二篇介绍Visual C++整合环境开发工具。本篇只不过是提纲挈领而已,并不企图取代 Visual C++使用手册。然而对于软件使用的老手,此篇或已足以让您掌握Visual C++整合环境。工具的使用虽然谈不上学问,但在视觉化软件开发过程中扮演极重角色,切莫小觑它。 第三篇介绍application framework的观念,以及MFC骨干程序,所谓骨干程序,是指Visual C++的工具AppWizard所产生出来的程序码。当然,AppWizard会根据你的选项做出不同的程序码,我所据以解说的,是大众化选项下的产品。 第四篇以微软公司附于Visual C++光碟片上的一个范例程序Scribble为主轴,一步一步加上新的功能。并在其间深入介绍Runtime Type Information(RTTI)、Dynamic Creation、Persistence(Serialization)、Message Mapping、Command Routing等核心技术。这些技术正是其他书籍最缺乏的部分。此篇之最后数章则脱离Scribble程序,另成一格。

2013-07-06

windows程序设计第五版 源码

windows程序设计第五版一书 随书附带源代码

2013-06-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除