C++程序
文章平均质量分 51
Turing_Sunshine
这个作者很懒,什么都没留下…
展开
-
求最大子序列和的四种方法
求一个给定序列的连续子序列中和最大的那个子序列的和,下边方法只求和,没有找出最大子序列。用到的头文件和宏定义如下#include "stdafx.h"#include<vector>#include <string>#include <fstream>#include <random>#include <time.h>#include <iostream>typedef long in原创 2015-08-30 15:48:30 · 2747 阅读 · 1 评论 -
C++ 分糖果问题-求一组数的最大公倍数
给各个部门分糖果,满足以下要求: 1. 各个部门分的糖果数一样 2. 各个部门分得的糖果能平均分配 3. 公司总共15个部门 4. 糖果数最少输入:需要分配的部门个数和各个部门的人数输出:每个部门的糖果数目示例:输入:部门数目:5 各个部门人数:4 2 3 4 5输出:60方法:该题目间接求各个部门人数的最小公倍数。递归计算,求n个数的最小公倍数,相当于求第一个数和剩下n-1个数原创 2015-09-17 08:32:12 · 1363 阅读 · 0 评论 -
返回类型和return语句
return语句中之当前正在执行的函数,并将控制权返回到调用该函数的地方无返回值函数没有返回值的return语句只能用在返回类型是void的函数中,返回void的函数不要求非得有return语句,因为这类函数最后一句后面会吟诗执行returnvoid函数可以使用return语句提前退出函数有返回值函数return语句返回值类型必须与函数哦返回类型相同,或者可以隐式转换成函数返回值类型在含原创 2015-09-14 15:08:14 · 6073 阅读 · 0 评论 -
C++一些语法总结
构造函数初始化列表编写类的时候一些成员必须在构造函数初始化列表中进行初始化,const和引用类型的对象,不能对他们赋值,因此需要在初始化列表对他们赋初始值: 没有默认构造函数的类类型成员const或引用类型成员在初始化列表中,成员被初始化的次序是定义成员的次序右值引用左值引用是指表达式结束后依然存在的持久现象右值引用是表达式结束时,就不再存在的临时对象区分右值与左值的方法是看能不能对原创 2015-09-08 18:55:41 · 500 阅读 · 0 评论 -
可调用对象与function
function的头文件为utility,其用法为:`std::function<retype (p1,p2)> f;`f为返回值为retype,形参为p1,p2的可调用对象,其可为函数,类的调用函数,lambda表达式delete t时,指针t内存的值是一个地址,delete后该地址对应的内容就被释放了,但是t还存在,其值还是那个地址 class DebugDelete{public:原创 2015-09-08 18:26:44 · 331 阅读 · 0 评论 -
C++类成员变量初始化位置
static: static表示的是静态的。类的静态成员函数、静态成员变量是和类相关的,而不是和类的具体对象相关的。即使没有具体对象,也能调用类的静态成员函数和成员变量。一般类的静态函数几乎就是一个全局函数,只不过它的作用域限于包含它的文件中。 在C++中,static静态成员变量不能在类的内部初始化。在类的内部只是声明,定义必须在类定义体的外部,通常在类的实现文件中初始原创 2015-09-08 11:29:16 · 2030 阅读 · 0 评论 -
共享型智能指针的实现share_pointer
智能指针是一个类,它产生的是一个类对象,而不是一个原生的指针对象,但是为了减少类对象与针对对象使用的差异性,所以share_ptr类故意重载了两种常见的指针操作符: *和->。从而share_ptr与普通指针使用方式一样。简言之,就是share_ptr生成的一个包含类型指针容器对象,它封装了指针对象,对指针对象负全责,包括生成、释放等。 智能指针(smart pointer)的一种通用实现原创 2015-09-08 19:43:06 · 3489 阅读 · 0 评论 -
C风格字符串
字符串字面值是一种通用的结构实例,这种结构即是由c集成而来的c风格字符串c风格字符串不是一种类型,而是为了表达和使用字符串而形成的一种约定俗成的写法存放在字符数组中,并且以空字符结束(’\0’)c标准库string函数定义在cstring头文件中strcat(p1,p2)将p2附加到p1之后,返回p1strcpy(p1,p2)将p2拷贝给p1,返回p1strlen(p)返回p的长度,不原创 2015-09-11 19:54:51 · 333 阅读 · 0 评论 -
动态数组new、allocate
new和delete运算符一次分配/释放一个对象,但某些应用需要一次为很多对象分配内存的功能C++提供了两种一次分配一个对象数组的方法new表达式语法,可以分配并初始化一个对象数组allocate类可以将分配和初始化分离涉及到分配动态数组的类必须定义自己版本的操作,在拷贝、复制以及销毁对象时管理所关联的内存new和数组要在类型名后跟一对方括号,其中指明要分配的对象的数目下例中new分配原创 2015-09-10 17:04:44 · 4470 阅读 · 0 评论 -
顺序链表类模板的实现
编写的顺序链表类模板存放元素Node,类模板定义了一下成员:成员变量: 表示链表表头的指针:Node *head链表长度:length链表大小:size_成员函数 默认构造函数接受迭代器的构造函数在链表尾部添加成员删除链表第n个成员,返回删除成员的值查找指定值元素,找到则返回符合要求的第一个元素的指针,否则返回NULL返回表头模板代码如下:#ifndef LINERLIST原创 2015-09-12 10:06:12 · 554 阅读 · 0 评论 -
对一个复原魔方进行操作,记录操作后魔方状态
下面为为阿里巴巴的一道笔试题一个三阶魔方由六个面组成,颜色分别是白色(W),对面为黄色(Y),红色(R),对面为橙色(O),绿色(G)对面为蓝色(B)。如果手持魔方,白色向上,红色朝向自己,则绿色在左手侧。 该程序对一个处于还原状态的魔方进行操作,打印操作后的魔方状态。操着指令为单个指令组成的字符串。单个操作指令包括:1. U:白色棉顺时针旋转90度原创 2015-08-30 15:03:12 · 935 阅读 · 0 评论 -
字符串数组反转输出 以空格为单词分隔符 C++
给出字符串数组及其长度,字符串有若干单词和空格组成,下边代码将数组中单词反转输出,输入”Welcom to Hubei Wuhan”输出为“Wuhan Hubei to Welcom”代码思路为: 1. 定义两个指针,分别指向一个单词的开头和结尾地址 2. 从字符串数组尾部开始检索单词,以空格为单词结束标志 3. 将两个指针区间的字符输出#include <iostream>usi原创 2015-11-18 16:51:34 · 3640 阅读 · 0 评论