自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (9)
  • 问答 (6)
  • 收藏
  • 关注

原创 散列表简介11.1.1

编译处理时候涉及到变量及属性的管理,动态查找管理插入:新变量查找:变量的引用如果利用查找树(搜索树)进行变量管理:两个变量名(字符串)比较效率不高目前已经知道的

2017-05-14 21:20:30 196

转载 多关键字排序-oj考试排名10.1.3

考试排名 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3445 Accepted Submission(s): 1249Problem Description C++编程考试使用的实时提交系统,具有即时获得成绩排名的特点。它的功能

2017-05-12 07:43:22 863

原创 桶排序升级之基数排序c语言实现10.1.2

上一篇介绍了不稳定的快速排序,这回介绍基数排序基数排序是基于分配策略的排序,不是一种比较排序,不受到 O(n log n) 下限的影响,是一种稳定的排序算法,并且它可以应用于多关键字排序。次位优先基数排序先按照优先级别最低的位对序列进行排序,下一步按照稍高优先级的位对序列进行排序,直到最高位时候整个序列就是有序序列主位优先基数排序先按照优先级最高的位对序列进行排序,

2017-05-06 10:03:27 728

原创 快速排序-c语言实现10.1.1

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。 总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快

2017-05-06 07:01:38 4574

转载 归并排序之循环归并排序9.4.3

借记卡

2017-05-03 15:28:03 368

原创 归并排序之有序子列的归并9.4.1

已知数组a有两个有序的子列挨在一起,l为左边子列的起始下标,r为右边子列的起始下标,rend为右边子列的终点下标,以下算法将整个a变为有序子列void Merge(ElementType a[],ElementType tmpa[],int l,int r,int rend){int len=rend-l+1;//整个数组长度int lend=r-1;//左边的终点下标int tmp=l

2017-05-03 15:13:51 260

原创 归并排序之递归排序9.4.2

#include#include#include#includetypedef int ElementType;void Merge(ElementType a[],ElementType tmpa[],int l,int r,int rend){//有序子列的归并int len=rend-l+1;int lend=r-1;int tmp=l;while(l<=lend&&r<=

2017-05-03 15:09:25 255

原创 选择排序和堆排序9.3.1

选择排序伪代码堆排序:以上图片均来自网络截图以下代码来自百度知道#include#include#include void Swap( ElementType *a, ElementType *b ) { ElementType t = *a; *a = *b; *b = t; } void Per

2017-05-02 09:31:40 237

原创 插入排序和希尔排序9.2.1

插入排序的基本思想是:每步将一个待排序的纪录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。 void InsertionSort( ElementType A[], int N ) { /* 插入排序 */ int P, i; ElementType Tmp; for (

2017-05-02 08:02:53 246

原创 简单排序冒泡排序和插入排序9.1.1

N个元素的冒泡排序:冒泡排序每一趟比较无序序列相邻的两个元素,如果前一个元素小于后者就交换,一趟下来最大的元素排在最后---这样无须序列元素少一个,有序序列元素多一个,当进行N-1趟这样的操作后整个序列就变为有序序列。#include#include#includetypedef int EleType;void swap(EleType *a,EleType *b){//交换两元素位

2017-05-01 18:53:39 223

转载 拓扑排序,数据结构学习笔记8.1.4

/* 邻接表存储 - 拓扑排序算法 */ bool TopSort( LGraph Graph, Vertex TopOrder[] ) { /* 对Graph进行拓扑排序, TopOrder[]顺序存储排序后的顶点下标 */ int Indegree[MaxVertexNum], cnt; Vertex V; PtrT

2017-05-01 13:40:58 378

原创 最小生成树kruskal算法适合稀疏图(网络整理)8.1.3

#include#include#include#define MAXSIZE 100typedef int Weight;typedef char Datatype; typedef struct AdjVNode{Weight weight;int adjv;struct AdjVNode *Next;}*PtrToAdjVNode;typedef struct Vnod

2017-04-26 19:53:51 6774

原创 最小生成树prim算法适合稠密图(网络整理)8.12

#include #include /* 图的邻接矩阵表示法 */ #define MaxVertexNum 100 /* 最大顶点数设为100 */ #define INFINITY 65535 /* ∞设为双字节无符号整数的最大值65535*/ typedef int Vertex; /*

2017-04-26 19:45:29 8735

原创 3.16(c程序实现)特殊的平衡二叉搜索树之完全二叉搜索树

#include #include int b[1005]; int j=0; int compare(const void * a, const void * b); void mid_tre(int root,int N,int a[]); int main(){

2017-04-26 11:02:53 214

原创 什么是最小生成树什么是贪心算法(基本概念)8.1.1

解决最小生成树常常用到贪心算法解决最小生成树的贪心算法有一下两种

2017-04-26 10:27:15 809

原创 多源有权图的最短路径 floyd算法(动态规划能解决负权边)7.1.3

核心代码只有5行呀for(int k=0;kNv;k++) for(int i=0;iNv;i++) for(int j=0;jNv;j++) if(dist[i][j]>dist[i][k]+dist[k][j])//只要通过中转点能使两点距离变小就更新 { dist[i][j]=dist[i][k]+dist[k][j

2017-04-25 09:13:54 1891

原创 单源有权图的最短路径 Dijkstra算法(证明不能解决负权边)7.1.2

单源最短路径问题,即在图中求出给定顶点到其它任一顶点的最短路径。 Dijkstra算法假设存在G=,源顶点为0,U={0+已确定的最短路径顶点},dist[i]记录顶点0到顶点i的最短距离(包括确定的和估算的),path[i]记录从0到i路径上的i前面的一个顶点。U中收录的是已确定的最短路径顶点,比如2被U收录的话就代表dist[2]的值就是顶点0到顶点2的最短路径,后面操作不需要

2017-04-22 07:49:37 3144

原创 图的遍历之BSF广度优先算法6.2.2(网络整理)

图的广度优先遍历和树的层序遍历相似,伪代码见下图:

2017-04-20 08:16:45 2518

翻译 图的遍历之DSF深度优先算法6.2.1(网络整理)

图的遍历之深度优先算法伪代码描述(和树的前序遍历相似,实际上树可以看成特殊的图:N个顶点有N-1条边,不曾在回路!即树是图连通中最少边的情况)图片来自网络如上图:深度优先遍历:先选取一个顶点访问它,然后深度优先遍历它的每个未访问的邻接点#include#include#include#define MaxVertexNum 100 /* 最大顶点

2017-04-20 08:00:43 4585

原创 3.14(c程序实现)已知二叉树的前序遍历和中序遍历,求后序遍历

伪代码描述见下图(来自网络)那么开始码代码了#include#include#include#includetypedef int Ele;typedef struct N{ Ele *pre; Ele *in; Ele *post; int length;}Node;Node createNode(int n){Node node;node.length=

2017-04-16 07:26:10 940

原创 随记,编译,链接!static

编译都是以.c文件为单元的编译之前需要先预处理,#开头的是预处理命令,比如:include仅仅是将某文本插入此文本文件,#define仅仅是在预处理时编译器进行文本替换!预处理过后就会将文件编译成.o目标文件(中间可能先编译成汇编,再编译成.o文件),调试小技巧,编译中只要你声明了某函数,调用声明的函数就不会报错!每个.c文件编译过后得到各自.c文件,连接器将它们链

2017-04-12 18:39:56 221

转载 C语言实现图的领接表表示6.1.2

/* 图的邻接表表示法 */ #define MaxVertexNum 100 /* 最大顶点数设为100 */ typedef int Vertex; /* 用顶点下标表示顶点,为整型 */ typedef int WeightType; /* 边的权值设为整型 */ typedef char DataType;

2017-04-12 11:59:44 609

转载 C语言实现图的领接矩阵表示6.1.1

/* 图的邻接矩阵表示法 */ #define MaxVertexNum 100 /* 最大顶点数设为100 */ #define INFINITY 65535 /* ∞设为双字节无符号整数的最大值65535*/ typedef int Vertex; /* 用顶点下标表示顶点,为整型 */ typedef int W

2017-04-12 11:57:41 1085 1

原创 判别两序列所对应两颗二叉搜索树是否相同之建立一颗树4.134

上一遍介绍了建立两棵树来判断序列是否是同一颗二叉树,这次建立一棵树来判断

2017-04-06 12:47:43 252

原创 最小堆的应用之哈弗曼树5.2

哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度的乘积之和。哈弗曼编码是它的重要应用,哈弗曼编码是一种无前缀编码。假设计算机世界里文字只由由A、B、C、D、E四个字符组成,它们出现的频率分别为5,4,3,2,1,那么我们第一步先取两个最小权值作为左右子树构造一个新树,即取1,2构成新树,其结点为1+2=3,

2017-04-06 12:46:07 466

原创 集合的表示之并查集5.3

以上图片在自网络1、可用树结构表示集合,树的每个结点代表集合中一个元素。2、用树根代表这个集合。因此我们查某个元素属于哪个集合,实际就是查寻树中结点的根结点。因为我们只需要知道树中某个结点的父亲结点,因此我们可以用双亲表示法来表示树,我们可以选择链表或数组作为存储结构!//链表对应的一个元素结点类型typedef int Ele;struct Tnode{Ele

2017-04-05 19:13:28 329

转载 堆C语言实现5.1

typedef struct HNode *Heap; /* 堆的类型定义 */ struct HNode { ElementType *Data; /* 存储元素的数组 */ int Size; /* 堆中当前元素个数 */ int Capacity; /* 堆的最大容量 */ }; typede

2017-04-04 15:16:02 799

原创 c语言可变数组的实现

/*可变数组*//**创建返回指针类型**/#include#includetypedef int Ele;const Ele ERROR=0;typedef struct Array{Ele *data;int size;}*Arr;Arr createarr(int size){Arr arr=(Arr)malloc(sizeof(struct Array));arr-

2017-04-04 07:54:04 3474

原创 判别两序列所对应两颗二叉搜索树是否相同之建立两颗树4.13

/**任何一个结点的值域都比它的右子树小,比它的左子树大,我们叫它二叉搜索树**/#include#include#include#includetypedef int Ele;typedef struct Node{Ele e;struct Node *left;struct Node *right;}*Tree,*TNode;//Tree insert(Tree t,E

2017-04-03 06:55:45 320

原创 二叉搜索树的查找与删除4.12

二叉搜索树创建过后就开始查找和删除了/**任何一个结点的值域都比它的右子树小,比它的左子树大,我们叫它二叉搜索树**/#include#include#includetypedef int Ele;typedef struct Node{Ele e;struct Node *left;struct Node *right;}*Tree,*TNode;//Tree in

2017-04-02 08:46:42 165

原创 二叉搜索树的创建,插入式创建4.1

/**任何一个结点的值域都比它的右子树小,比它的左子树大,我们叫它二叉搜索树**/#include#include#includetypedef int Ele;typedef struct Node{Ele e;struct Node *left;struct Node *right;}*Tree,*TNode;//Tree insert(Tree t,Ele e){if

2017-04-01 19:11:44 196

原创 判断二叉树是否同构3.13

#include#include#include/***/typedef char Ele;typedef struct Node{Ele e;struct Node *left;struct Node *right;}*Tree,*Tnode;Tree createTree(){char tmp;Tree t;scanf("%c",&tmp);if(tmp='#')

2017-04-01 16:37:18 933

原创 二叉树的表示链式表示和顺序存储3.0

(一)二叉树的链式表示1普通链表,其中一个结点表示如下typedef int Elem;struct Node{Elem data;struct Node *left;struct Node * right;}2静态链表typedef Ele int;typedef postion int;typedef strcut{Ele data;postion le

2017-03-31 08:40:13 704

原创 c语言描述运行正常,二叉树的层序遍历3.1.2

#include#include#define MAX 100#ifndef true#define true 1#define false 0typedef int bool;#endif/**二叉树的链式表示法**///结点typedef char Ele;typedef struct Node{Ele data;struct Node *left;struc

2017-03-30 21:35:17 306

原创 二叉树的非递归遍历之后序遍历

在上一篇中二叉树的非递归遍历我已经完成了中序和前序遍历,模拟的是他们吧遍历的方向,如果把遍历路线逆过来,我们输出第一次遇到的结点,结果可以看到为前序遍历的逆向顺序!因此我们把输出的地方再压如另一个堆栈就可以解决了#include #include typedef char Ele; typedef struct Node { Ele data; struct Nod

2017-03-30 20:15:16 184

原创 二叉树的非递归遍历3.1.1

/* 树的递归创建 */ #include #include typedef char Ele; typedef struct Node { Ele data; struct Node *left; struct Node *right; }*T,*lnode; /*按照先序遍历创建树ABDG##H###CE#I##F## */

2017-03-30 17:28:04 232

原创 二叉树的递归创建和递归遍历3.1

/*树的递归创建*/#include#includetypedef char Ele;typedef struct Node{Ele data;struct Node *left;struct Node *right; }*T,*lnode;/*按照先序遍历创建树ABDG##H###CE#I##F## */T createTree(){ T t; Ele tmp

2017-03-29 20:09:17 267

原创 一元多项式加法和乘法-数据结构学习笔记2.3-2.4

/* 1 一元多项式的用什么表示-----单链表,此处不带头结点的表示 2创建一元多项式,输入3 5 6 1 5 2 3表示三项多项式,系数分别为5,1,2指数分别为6,5,3---程序要求自动按指数从大到小排序 3完成一元多项式的加法 4完成一元多项式的乘法 5完成一元多项式的输出*/#include#include/*结点,多项式中的一项*/typedef struct N

2017-03-29 11:26:00 677

原创 队列的顺序存储和链式表示方法-数据结构学习笔记2.3

1,顺序存储时我们常用循环队列,为了区分队列满和空,我们最多只用MAX-1个空间队列空:q->rear=q->front队列满:q->front=(q->rear+1)%MAX typedef int Position; struct QNode { ElementType *Data; /* 存储元素的数组 */ Position

2017-03-28 09:35:59 426

原创 堆栈的两种表示方法-数据结构学习笔记2.2

顺序存储表示#include#include typedef int Elem;#define MAX 200const Elem ERROR=-1;typedef  struct{Elem data[MAX];int top;}*S,SS;S createStack(){S s=(S)malloc(sizeof(SS));s->top=-1;return s;}

2017-03-27 21:40:15 1111

window错误码查询工具.rar

开发中常常用错误码表述函数执行错误时原因,我们常常需要知道错误码是什么意思。我们设计函数时候也需要知道函数该用何种错误码来描述执行错误的状态。这个工具可以方便我们查询。支持查询1、0x001正向查询。还支持反向查询,比如:当我们函数检测到文件已经被篡改过了,此时可以用“文件的哈希值不在指定的目录文件中。此文件可能已损坏或被篡改“,此时只需要这样查询 文件[空格]篡改。window错误码查询工具.exesha1:f8445c81c4098b05e098a0db3918f63b511c00c8

2020-06-20

更改win10默认编码为utf8,无%SystemRoot%_system32_cmd.exe注册表项也可以以.reg

  在程序开发中我们一般统一的编码是 UTF-8,这一点很重要,但是总还是会遇到许多乱码问题,乱码的原因是多方面的,这里暂不过多总结。这里只说明在window下使用控制台执行 一些自己编写的程序,或者是进行交互式编程的时候会经常遇到乱码问题,这是因为Window cmd的默认编码是GBK。与程序采用的 UTF-8 不一致造成的中文及特殊字符乱码。下载此文件点击就可以方便永久更改cmd默认编码为utf8

2019-06-29

C++(qt)游戏实战项目:坦克大战(源代码)

此坦克游戏采用c++开发,有详细的源码解析 已实现功能 地图编辑m,地图加载l,地图保存s 玩家坦克移动asdw 发射子弹j 发挥你的才智实现以下功能吧: 关卡设计 坦克打怪升级 坦克魔法攻击 等等

2017-07-19

严蔚敏海龟作图初步程序适合参考

命令格式 命令范例 范例含义 前进 前进 100 海龟前进100个点 后退 后退 100 海龟后退100个点 左转 左转 90 左转90度 右转 右转 90 右转90度 ......这是一个基本框架,还有其他功能没实现,那是留个读者实现的。。。有了其骨,其髓由你填充!非MFC程序,注释详细,易懂!

2015-12-28

用C++发邮件

用C++发邮件,用起来超简单,稍微改下代码可以实现群发功能

2015-10-21

经典小游戏合辑

经典的C++游戏源代码,来是我收集于共享网络

2015-08-13

超级玛丽制作揭秘

这个资源是我在共享网站上下载的,适合有一定C++基础的人!

2015-08-13

windows程序设计第五版

非常适合有一定C或C++基础后,来作为WINDOW程序设计的入门

2015-08-13

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

TA关注的人

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