自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

韦婵娟

现实不会给你颓废的时间

  • 博客(97)
  • 收藏
  • 关注

原创 旋转数组的最小数字

题目:把一个数组最开始的若干个元素搬到数组的末尾,称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。eg:数组{1,2,3,4,5}的其中的一个旋转数组为{3,4,5,1,2},该数组的最小值是1。#includeusing namespace std;int MinInOrder(int* numbers, int index1, int index2);

2016-03-27 16:57:15 457

原创 写给当下的自己

当毕业那一天来临,当你一无所有,没了爱情,没了事业,没了承诺,谁的怀抱还会让你依靠?是父母。谁会不计回报的包容这样一个颓废的你?还是父母。可终究父母不能伴你一生,父亲走了,母亲走了,而你呢?       记住:现实不会给你颓废的时间。你现在不光要为了父母奋斗,更要为了自己去奋斗!     今天是2016年3月27日,距离写得最后一篇博客(2015年9月17日)已经过去半年了。只想感叹时间过

2016-03-27 16:40:21 856 1

原创 二叉树的操作

#pragma once#include#include#includeusing namespace std;templateclass BinTree;templateclass BinTreeNode;typedef enum{L,R}Tag_Type;templatestruct stkNode{ BinTreeNode *ptr; Tag_Typ

2015-09-17 09:07:55 514

原创 采用邻接矩阵创建图

采用邻接矩阵创建一个有向网N分析:图的创建主要利用输入的各个顶点,并存储到一个向量(一维数组)中,然后通过输入两个顶点及权重创建弧,利用二维数组表示,因此,利用邻接矩阵创建图的存储需要两个数组:一个一维数组和一个二维数组。#include#include#include#includetypedef char VertexType[4];typedef char InfoPtr;t

2015-08-08 21:09:12 4925

原创 《高质量程序设计指南C/C++语言》 林锐 韩永泉编著 总结3

第 9 章  类的构造函数、析构函数与赋值函数1.构造函数初始化表的使用规则: 1)如果类存在继承关系,派生类必须在其初始化表里调用基类的构造函数。2)类的 const 常量只能在初始化表里被初始化,因为它不能在函数体内用赋值的方式来初始化。3)类的数据成员的初始化可以采用初始化表或函数体内赋值两种方式,这两种方式的效率不完全相同。2. 类 String 的构造函数与析构函数

2015-08-04 22:02:11 1012

原创 《高质量程序设计指南C/C++》 林锐 韩永泉编著 总结2

第 3 章  命名规则1.共性规则:规则1.标识符应当直观且可以拼读,可望文知意,不必进行“解码”。规则2.标识符的长度应当符合“min-length&& max-information”原则。规则3.命名规则尽量与所采用的操作系统或开发工具的风格保持一致。规则4.程序中不要出现仅靠大小写区分的相似的标识符。例如:int x,  X;    // 变量 x 与 X 容易

2015-08-04 21:43:01 945

原创 与零值的比较

与零值的比较:1.布尔变量与零值比较 规则1.不可将布尔变量直接与TRUE、FALSE 或者 1、0 进行比较。 根据布尔类型的语义,零值为“假” (记为 FALSE) ,任何非零值都是“真” (记为TRUE) 。TRUE 的值究竟是什么并没有统一的标准。例如 Visual C++ 将 TRUE 定义为1,而 Visual Basic 则将 TRUE 定义为-1。假设布尔变

2015-08-04 21:37:26 743

原创 《高质量程序设计指南C/C++语言 》 林锐,韩永泉编著 总结1

第 1 章  文件结构1.头文件由三部分内容组成:(1)头文件开头处的版权和版本声明。(2)预处理块。 (3)函数和类结构声明等。规则1.为了防止头文件被重复引用,应当用 ifndef/define/endif 结构产生预处理块。规则2.用  #include   格式来引用标准库的头文件(编译器将从标准库目录开始搜索) 。规则3. #include  “filen

2015-08-04 20:29:52 786

原创 树和二叉树的应用

#include #include #include #include #define MAXSIZE 100 typedef char ElemType; typedef struct Node { ElemType data; struct Node *lchild; struct Node *rchild; }Bit

2015-07-28 20:51:01 669

原创 哈弗曼编码

#include #include #include #define MY_STRMAX 100 #define infinity 1000000 typedef struct { unsigned int weight; //深度 char ch; //结点数值 unsi

2015-07-28 20:43:04 856

原创 树的孩子兄弟链表应用

孩子兄弟表示法采用链式存储结构,链表由一个数据域和两个指针域组成。其中,数据域 存放结点的数据信息,一个指针域用来指示结点的第一个孩子结点,另一个指针域用来指示结点的下一个兄弟结点。#include #include #include #include typedef int ElemType; typedef struct CSNode//孩子兄弟表示法类型定义

2015-07-28 20:32:28 1855

原创 线索二叉树的遍历应用

线索二叉树的遍历,就是在已经建立后的线索二叉树中,根据线索查找结点的前驱和后继。利用在线索二叉树中查找结点的前驱和后继的思想,遍历线索二叉树。#include #include #include #define MAXSIZE 100 typedef char ElemType; typedef enum { Link,/*指向孩子结点*/Thread/*

2015-07-28 20:18:36 1143

原创 二叉树的计数

二叉树的遍历也常常用来对二叉树进行计数。#include #include #include #define MAXSIZE 100 typedef char ElemType; typedef struct Node { ElemType data; struct Node *lchild; struct Node *rchi

2015-07-28 20:07:35 1205

原创 二叉树的输出

例如:按树输出如下:#include #include #include #define MAXSIZE 100 typedef char ElemType; typedef struct Node { ElemType data; struct Node *lchild; struct Node *rchild;

2015-07-27 21:48:56 2259

原创 二叉树的遍历的应用

创建如下图所示的二叉树:#include #include #include #define MAXSIZE 100 typedef char ElemType; typedef struct Node { ElemType data; struct Node *lchild; struct Node *rchild;

2015-07-27 21:37:55 1742

原创 二叉树的链式存储

#include #include #include #define MAXSIZE 100 typedef char ElemType; typedef struct Node { ElemType data; struct Node *lchild; struct Node *rchild; }*BitTree,BitNod

2015-07-27 21:25:49 876 1

原创 模式匹配应用

比较经典的Brute-Force算法与KMP算法的效率的优劣。#include #include #include #define MAXSIZE 60 typedef struct { char str[MAXSIZE]; int length; }SeqString; int B_FIndex(SeqString

2015-07-27 21:20:12 1000

原创 串的模式匹配

在串的各种操作中,串的模式匹配是经常用到的一个算法。串的模式匹配也称为子串的定位操作,即查找子串在主串中出现的位置。1.经典的模式匹配算法Brute-Force。2.KMP算法。#include #include #include #define MAXSIZE 60 typedef struct { char ch[MAXSIZE];

2015-07-27 21:11:03 989

原创 链串的基本运算

#include #include #include #define CHUNKSIZE 10 #define stuff '#' typedef struct Chunk { char ch[CHUNKSIZE]; struct Chunk *next; }Chunk;//串的结点类型定义 typedef struct {

2015-07-26 09:11:07 2145

原创 堆串的应用

例如串S1=“Welcome to”,S2="China",Sub="Xi'an",将串S2连接到串S1末尾,然后将串S1中的S2用Sub替换。#include #include #include typedef struct { char *str; int length; }HeapString; void InitString

2015-07-26 09:04:42 1878

原创 堆串的基本运算

#include #include #include typedef struct { char *str; int length; }HeapString; void InitString(HeapString *S);//串的初始化操作 void StrAssign(HeapString *S,char cstr[]);//

2015-07-26 08:48:13 1033

原创 串的应用举例

假设串S1 = "I come from Beijing",S2 = "Chongqing" ,Sub = "America". 利用串的基本操作,如果串的赋值、串的插入、串的删除、串的替换、对上面 的串进行操作#include #include #define MAXSIZE 60 typedef struct { char str[MAXSIZE]

2015-07-26 08:39:54 1623

原创 双端队列的应用

双端队列是一种特殊队列,它是在线性表的两端对插入和删除操作限制的线性表。双端队列可以在队列的任何一端进行插入删除操作。#include #define QUEUESIZE 8 typedef char ElemType; typedef struct DQueue { ElemType queue[QUEUESIZE]; int end1; i

2015-07-26 08:26:06 3215

原创 把数组中的n个元素的值分别扩大5倍,要求数组名作为参数。

通过把数组名作为参数传递,实际上是把数组的地址传递给形式参数。这样在被调用函数中就可以对整个数组进行操作了,将数组名作为参数传递,调用函数和被调用函数都是对占同一块内存单元的数组进行操作。#include#define N 10void MulArray1(int *x,int n);//数组名作为参数的函数原型void MulArray2(int *aPtr,int n);//指针作为参数

2015-07-25 22:08:50 1904

原创 二叉树的基本运算

//二叉树的初始化操作。二叉树的初始化需要将指向二叉树的根结点指针置为空:void InitBitTree(BiTree *T)//二叉树的初始化操作{ *T=NULL;}//二叉树的销毁操作。如果二叉树存在,将二叉树存储空间释放:void DestroyBitTree(BiTree *T)//销毁二叉树操作{ if(*T)//如果是非空二叉树 { if((*T)->lch

2015-07-25 21:16:32 1632

原创 二叉树的遍历实现

二叉树的先序遍历//先序遍历二叉树的递归实现void PreOrderTraverse(BiTree T){ if(T) { printf("%2c",T->data);//访问根结点 PreOrderTraverse(T->lchild);//先序遍历左子树 PreOrderTraverse(T->rchild);//先序遍历右子树 }}//二叉树的先序遍历

2015-07-25 20:53:05 842 1

原创 (C++ STL)list的实现

采用空间配置器和迭代器

2015-07-25 18:28:34 829

原创 顺序队列的表示

顺序队列的入队操作和出队操作

2015-07-25 09:56:38 996

原创 创建二维数组

方法一:使用数组指针用new开辟空间#include using namespace std; #define ROW 3 #define COL 4 void main() { int(*p)[COL] = new int[ROW][COL]; for(int i=0; i<ROW; ++i) { for(i

2015-07-23 19:55:25 727

原创 指向结构体的指针

运用指向结构体数组的指针输出学生信息说明:指针指向结构体数组,就得到了该结构体数组的起始地址。通过该地址可以访问结构体数组中的所有成员变量。其中,指向结构体的指针的算术运算与 指向数组的指针的用法相似。#include#define N 10//结构体类型及变量的定义,初始化struct student{ char *number; char *name; char sex;

2015-07-22 22:58:44 1567

原创 内存动态分配与释放

内存的动态分配需要使用函数malloc,函数free和运算符sizeof来实现。函数malloc的原型是:Void* malloc(unsigned int size);函数malloc的作用是在内存中分配一个长度为size的连续存储空间。函数的返回值是一个指向分配空间的起始位置的指针。如果分配空间失败,则返回NULL。如果要为类型为struct node的结构体分配一块内存空间。可以使用

2015-07-22 22:12:33 981

原创 用指针引用数组元素并打印输出

数组指针

2015-07-22 21:38:15 1205 1

原创 用指针数组保存字符串并将字符元素打印输出

指针数组

2015-07-22 21:10:27 7267 1

原创 用指针引用数组元素并打印输出

昨天的程序运行结果没有上传正确,现在重新发一次。很不好意思

2015-07-21 07:50:36 1501

原创 用指针引用数组元素并打印输出

指针与数组结合进行的运算

2015-07-20 18:31:39 3174

原创 二叉树的存储表示与实现

二叉树的顺序存储完全二叉树的存储可以按照从上到下,从左到右的顺序依次存储在一维数组中。完全二叉树的顺序存储如图所示:               如果按照从上到下,从左到右的顺序把非完全二叉树也同样的编号,将结点依次存放在一维数组中,为了能够正确反映二叉树中结点之间的逻辑关系,需要在一维数组中将二叉树中不存在的结点位置空出。 顺序存储对于完全二叉树来说是

2015-07-20 17:51:11 3143

原创 链式队列

编程判断一个字符序列是否是回文。回文是指一个字符序列以中间字符为基准两边字符完全相同,即顺着看和倒着看是相同的字符序列。如字符序列“ABCDCBA”就是回文,而字符序列“ABCBCAB”,就不是回文。#include//包含输出函数#include//包含退出函数#include//包含字符串长度函数#include//包含内存分配函数typedef char DataType;//类型定

2015-07-20 10:34:28 928

原创 指针函数

指针函数是指函数的返回值是指针类型的函数。一个函数的返回值可以是整数,实型和字符类型,也可以是指针类型。指针类型的定义形式举例如下:float* fun(int a,int b);其中,fun是函数名,前面的“*”说明返回值的类型是指针类型,因为前面的类型标识是float,所以返回的指针指向浮点型。该函数有两个参数,参数类型是整型。通过一个题目学校指针函数的用法。例如:假设若干个学

2015-07-17 23:14:27 2219

原创 指向函数的指针数组的用法

声明一个指向函数的指针数组,并通过指针调用函数。#includevoid f1();//函数f1的声明void f2();//函数f2的声明void f3();//函数f3的声明void main(){ void (*f[3])()={f1,f2,f3};//指向函数的指针数组的声明 int flag; printf("请输入一个1,2或者3.输入0退出.\n"); scanf(

2015-07-15 22:28:25 819

原创 函数指针的说明

刚刚发的博客没有保存截图,很不好意思,现在我重新发一次。

2015-07-15 09:50:46 599

空空如也

空空如也

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

TA关注的人

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