自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 逆波兰表达式(后缀表达式的求解)

题目:逆波兰表达式(后缀表达式的求解)#include#includeusing namespace std;enum type{ OP_NUM, OP_SYMBLE, ADD, SUB, MUL, DIV};struct Cell{

2016-08-19 15:05:15 333

原创 一个简单的加减乘除计算器

题目:实现一个简单的加减乘除计算计算器(函数指针与函数指针数组的应用)程序如下:#includeenum{ EXIT, ADD, SUB, MUL, DIV,};void menu(){ printf( "**********1.ADD 2.SUB*

2016-08-19 14:55:47 3342

原创 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现。

一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现。 本题思路:1.将0与数组每个元素依次亦或的结果就是两个只出现一次的元素亦或的值,相同元素的二进制位是相同的,亦或的值为02.将数组分为两组,每一组包含一个只出现一次的数,分组的思路是:两个唯一的数是不相同的,那么在他们的二进制序列中必然有一位是不相同的,找出这一位,以这一位为标志,将其余数进行分组。

2016-08-19 14:53:21 4624

原创 用冒泡排序实现快速排序

题目:实现bubble_sort,可以排序各种类型数据。程序如下:#include#include#includetypedef struct Stu{ char name[10]; int age; float score;}Stu,* pstu;int Compare_int(const void * elem1,

2016-08-19 14:42:53 254

原创 使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。

题目:使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。例如:输入test.exe -a 1 2      执行1+2输出3 程序入下:#include#include int main(int argc, char* argv []){

2016-08-19 14:39:27 1421

原创 HTTP 方法:Get与Post的区别

从原理上来看,根据Http规范,GET用于信息获取,而且应该是安全的。这里所谓的安全是指该操作用于获取信息而非修改信息。也就是说,GET请求一般不应产生副作用,它仅仅是获取资源,就像数据库查询一样,不会修改数据,影响资源的状态。而POST表示可能修改服务器上的资源的请求。以新闻网站为例,读者对新闻发表自己的评论应该通过POST实现,因为在提交评论后站点的资源应经不同了,或者说资源已经被修改了。

2016-08-01 20:16:58 285

原创 二叉树的遍历(递归)

二叉树 :二叉树是一棵特殊的树,二叉树每个节点最多有两个孩子结点,分别称为左孩子和右孩子。满二叉树 :高度为N的满二叉树有2^N- 1个节点的二叉树。完全二叉树: 若设二叉树的深度为h,除第h 层外,其它各层(1~h-1) 的结点数都达到最大个数,第h 层所有的结点都连续集中在最左边,这就是完全二叉树。如图,是一个完全二叉树。★前序遍历(先根遍历):【1 2 3 4 5

2016-05-29 12:15:10 253

原创 面试题:用两个队列实现一个栈

在做这道题之前,我们首先要搞清楚队列和栈的特点。队列:先进先出,即插入数据在队尾进行,删除数据在队头进行;栈:后进先出,即插入与删除数据均在栈顶进行。POP:        如果我们要实现一个栈,我们先进入的数据一定是先出去的,怎么样利用队列实现这个特点呢?我们可以利用两个队列来进行数据顺序的调整。当我们需要删除数据时,我们可以先将数据push到一个队列当中,pop时,因为队列是先

2016-05-21 12:33:00 2456

原创 统计十进制数返回参数为二进制数1的个数

程序如下:#includeint main(){ int num = 0; int count = 0; num = 10; while (num) { if (num % 2 == 1) { count++; } num = num / 2; } printf("%d ", count); system("pause"); return 0;}

2016-05-19 16:33:20 250

原创 面试题:用两个栈实现一个队列

用两个栈实现一个队列,我们首先需要了解栈和队列的特点。栈:后进先出,即它的插入与删除操作均是在栈顶执行的;队列:先进先出,即它的插入是在队尾进行,而删除是在队头进行的。思路如下:用两个栈,一个栈用来进队,一个栈用来出队,当数据进入队列的时候,我们将其压入一个栈,当数据出队的时候,我们将保存在栈内的数据pop出来,将其按照出栈的顺序压入另外一个栈,然后pop栈顶的数据就实现了出队的操

2016-05-18 23:17:42 634

原创 C++对象模型(剖析虚函数表)

多态是C++中一种代码复用的手段,什么叫多态?简单点说,就是多种形态。那么C++中是怎样实现多态的呢?在C++中,多态分为两种:静态多态与动态多态。静态多态是对象声明的类型是在编译时确定的,比如说函数重载,模板。动态多态是所指对象的类型是在运行时确定的。动态多态的实现是通过虚函数来完成的。我们可以通过基类的指针或引用来调用基类与子类的函数,这个过程就实现了多态。我们知道,多态是通过虚函数来实现

2016-04-14 11:19:18 572

原创 继承与派生

C++中有四大特性:继承,封装,多态,抽象。继承是面向对象设计中一种重要的复用的手段,所谓继承,就是在一个已存在的类的基础上建立一个新的类,一个新的类从已有的类那里获得其已有特性,这种现象称为类的继承。通过继承,一个新建子类从已有的父类那里获得父类的特性。从另一个的角度说,从已有的类产生一个新的子类,称为类的派生。下面是一个简单的继承与派生关系的类:#includeusing names

2016-04-09 22:56:32 608

原创 日期类

功能实现:在一个日期上+N天、-N天,重载前置++/--和后置++/--以及两个日期之间的差距,还有就是比较两个日期之间的大小。#includeusing namespace std;class Date{ friend ostream & operator<<(ostream& os, Date& d)//输出运算符重载 {

2016-04-09 12:34:14 235

原创 extern "C" 与函数重载机制

★extern "C"先来看一下下面这道题:在c++程序中被c编译器编译后的函数,为什么要加extern “C”?我们来写一个简单的程序测试一下。先写一个c++程序,简单的求两个数的和。#includeusing namespace std;extern int add(int ,int);int main(){ int a=1; int b

2016-03-29 22:56:48 1697

原创 signed unsigned 关键字

我们都知道,数据在计算机中是以二进制数存取的。任何数到了计算机底层都会被计算机转换为0,1.那么,负数在计算机是如何存取的呢?负号是没有办法存进计算机的。怎么办呢?做一个标记就好了。我们把数据的最高位腾出来,用来标记数据的符号。规定如下:若最高位为1,则为负数,其值为除最高位之外剩余位的值再加上一个负号,若最高位为0,则为正数,其值为除最高位之外剩余位的值。  这样,一个32位的signed

2016-03-15 22:02:22 594

原创 指针运算

我们在日常练习中,经常会写这样的代码*p++,*p--,从这一点,我们就可以看出,指针是可以进行运算的,只不过指针可以进行的运算并不多。我们知道,指针加上一个整数的结果是另一个指针,那么它指向哪里呢?如果将一个字符型指针加1,运算产生的结果是指向下一个字符指针。但如果是其他类型呢?如果是float类型呢?我们都知道,float所占据的内存空间并不是1,那么给一个指向float类型的指针加上1,

2016-03-12 23:28:03 437

原创 求100~200之间的素数

在写程序之前,我们首先需要有解题的思路。1.什么是素数?只能被一和自身整除的数叫做素数:2.怎样用程序语言将这一规律表示出来,思考过后,我们会发现使用两个for循环便可以实现这一功能。#includeint main(){ int i = 0; int count = 0; for (i = 100; i <= 200; i++) { int j = 0; for (j = 2

2016-02-22 11:30:39 778

原创 三字母词与转义字符

首先,我们先来看一下下面这段程序,猜一下运行结果:#includeint main(){ printf("Delete file (are you sure??)"); return 0;}执行结果如下:你会发现,本应该是‘)’的地方变成了‘]’,这个时候,就出现了三字母词的概念。        三字母词(trigrph)就是几个字符的序列,合起来表示

2016-02-20 20:38:34 1323 1

空空如也

空空如也

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

TA关注的人

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