- 博客(16)
- 资源 (4)
- 收藏
- 关注
转载 c++成员函数的重载、覆盖、隐藏区别
c++成员函数的重载、覆盖、隐藏区别成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。重载与覆盖成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。覆盖
2015-05-26 18:53:06 362
转载 C++内存分配方式详解
C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。 堆,就是那些由 new 分配的内存块,他们的释放编译器不去
2015-05-26 11:18:20 362
转载 C/C++中Static的作用详述
C/C++中Static的作用详述在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a
2015-05-26 10:54:00 287
原创 栈的顺序存储结构
#include #include #define MAXSIZE 20#define ERROR 0#defien OK 1typedef int ElemType;typedef int Status;typedef struct{ ElemType data[MAXSIZE]; int top;}SqStack;Status Push(SqStack
2015-05-21 17:37:14 386
原创 C语言实现逆波兰表达式
#include #include #include #define STACK_INIT_SIZE 20#define STACKINCREMENT 10#define MAXBUFFER 10typedef double ElemType;typedef struct{ ElemType *base; ElemType *top; int stack
2015-05-18 13:05:30 11525 2
原创 C语言栈的链式存储结构
#include #include #define OK 1#define ERROR 0/***栈的链式存储结构,简称栈链**栈因为只是栈顶来做插入和删除操作,所以比较好的方法**就是将栈顶放在单链表的头部,栈顶指针和单链表的头指针和二为一*/typedef int ElemType;typedef int Status;typedef struct StackNode{
2015-05-15 12:33:05 652
原创 树的定义
#include #include /***一对多的数据结构:树**树是n(>=0)个结点的有限集。当n=0时为空树,在任意一棵非空树中:**-有且仅有一个特定的称为根(root)的结点**-当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2.。。Tm**其中每一个集合本身又是一棵树,并且称为根的子树**-n>0时,根结点是唯一的,坚决不可能存在多个根结点**-
2015-05-15 12:32:22 506
转载 Linux 系统目录结构
/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev :dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。/etc:这个目录用来存放所有的系统管理所需
2015-05-14 20:48:15 305
原创 魔术师发牌问题
#include #include #define CardNumber 13/*魔术师利用一副牌中的13张黑牌,预先将他们拍好后叠在一起,牌面朝下对观众说:“我不看牌,只数数就可以猜到每张牌是什么,我大声数数,你们听,不信?现场演示”。魔术师将最上面的那张牌数为1,把他翻过来正好是黑桃A,将黑桃A放在桌子上,第二次数1,2将第一张牌放在这些牌的下面,将第二张牌翻过来,正好是黑桃2
2015-05-13 13:36:42 517
原创 字符匹配BF算法
#include #include #include /***BF算法(Brute Force算法)属于朴素的模式匹配算法,它的核心思想:**-有两个字符串S和T,长度为N和M。首先s[1]和t[1]比较,若相等,则** 再比较s[2]和t[2],一直到T[M]为止;若S[1]和t[1]不等,则T向右移** 动一个字符的位置,再依次进行比较**-该算法最坏情况下要进行M*(N-M+
2015-05-11 21:32:40 502
原创 双向链表的实践(C语言)
#include #include #define OK 1#define ERROR 0typedef char ElemType;typedef int Status;/***要求实现用户输入一个数使得26个字母的排列发生变化,例如**用户输入3,输出结果:**DEFGHIJKLMNOPQRSTUVWXYZ**同时需要支持负数,例如用户输入-3,输出结果为:**XYZDE
2015-05-11 20:10:58 474
原创 数据结构与算法之队列
#include #include /***队列是只允许在一端进行插入操作,而在另一端进行删除操作的**线性表**队列是一种先进先出的线性表**队列既可以用链表实现,也可以用顺序表实现**跟栈相反的是,栈一般我们用顺序表来实现 ,二队列我们常用链表**来实现,简称为链队列*/typedef char ElemType;/***队列的结构*/typedef stru
2015-05-07 13:06:53 326
原创 约瑟夫问题
#include #include /*据说著名犹太历史学家josephus有过以下的故事:在罗马人占领桥塔帕特后,39个犹太人与josephus及他的朋友躲到一个洞中39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第一个人开始报数,每报到第三个人,该人就自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。问题:用循环链表
2015-05-07 12:54:42 460
原创 C语言队列
#include #include /***队列是只允许在一端进行插入操作,而在另一端进行删除操作的**线性表**队列是一种先进先出的线性表**队列既可以用链表实现,也可以用顺序表实现**跟栈相反的是,栈一般我们用顺序表来实现 ,二队列我们常用链表**来实现,简称为链队列*/typedef char ElemType;/***队列的结构*/typedef stru
2015-05-06 13:08:02 527
原创 中缀表达式转换为后缀表达式
#include #include #include #define STACK_INIT_SIZE 20#define STACKINCREMENT 10#define MAXBUFFER 10typedef char ElemType;typedef struct{ ElemType *base; ElemType *top; int stackSize;}sqSta
2015-05-06 12:16:34 445
原创 C语言排序算法
#include #include void swap(int k[],int lo,int hi){ int temp; temp=k[lo]; k[lo]=k[hi]; k[hi]=temp;}/***冒泡排序*/void BubbleSort(int k[],int n){ int i,j,temp,count1=0,count2
2015-05-05 11:13:44 267
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人