
C++
文章平均质量分 53
YAIMZA
这个作者很懒,什么都没留下…
展开
-
C++入门基本知识
1.命名空间2.C++基本的输入输出流3.重载(C++为什么支持重载?)4.C++缺省参数5.指针和引用(概念、使用方法、做参数、做返回值的作用,指针和引用的区别)原创 2017-06-20 21:54:42 · 635 阅读 · 0 评论 -
栈和队列的面试题
栈和队列面试题1.实现一个栈,要求实现Push(入栈)、Pop(出栈)、Min(返回最小值的操作)的时间复杂度为O(1) 2.使用两个栈实现一个队列 3.使用两个队列实现一个栈 4.元素出栈、入栈顺序的合法性。如入栈的序列(1,2,3,4,5),出栈序列为(4,5,3,2,1) 5.一个数组实现两个栈 1.实现一个栈,要求实现Push(入栈)、Pop(出栈)、Min...原创 2018-06-19 17:49:29 · 425 阅读 · 0 评论 -
程序的编译和链接过程
下面是一个进度条的代码:#include <stdio.h>#include <unistd.h>#include <string.h>int main(void){ int i = 0; char buf[102]; memset(buf,0,sizeof(buf)); ...原创 2018-08-07 09:59:54 · 296 阅读 · 0 评论 -
C++类的六个默认成员函数——思维导图总结
相关的代码:无参构造函数 &amp; 有参构造函数#include &lt;iostream&gt;using namespace std;class Date{public: Date() { cout&lt;&lt;"无参构造函数"&lt;&lt;endl; } Date(int原创 2018-08-08 14:10:58 · 647 阅读 · 0 评论 -
宏和函数的区别—宏和内联的区别—宏的优缺点
宏的优缺点宏和函数的区别宏和内联的区别C++建议使用const/enum/inline去替代宏,为什么?原创 2018-08-08 15:30:57 · 328 阅读 · 0 评论 -
C++中的String的常用函数用法总结
一. string的构造函数的形式: string str:生成空字符串string s(str):生成字符串为str的复制品string s(str, strbegin,strlen):将字符串str中从下标strbegin开始、长度为strlen的部分作为字符串初值string s(cstr, char_len):以C_string类型cstr的前char_len个字...原创 2018-08-27 09:15:36 · 433844 阅读 · 77 评论 -
C++STL基本容器的使用
序列式容器 &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; 关联式容器C++中有两种类型的容器:序列式容器和关联式容器 序列式容器:主要有vector、list、deque等;其中vector表示一段连续的内存地址,基于数组的实现;list表示非连续的内存,基于链表实现的;deque与vector类似,不同之处就是:对于首元素提供删除和插入的双向支持(c++标准建议:vector是那种应该在默认情况下使用的序列。如果大多...原创 2018-08-23 14:24:43 · 685 阅读 · 0 评论 -
C++STL序列式容器---vector和list常用的接口用法以及vector和list的区别
序列式容器vector :vector采用一段连续的内存来存储其元素,向vector添加元素的时候,如果容量不足,vector便会重新malloc一段更大的 内存,然后把原内存中的数据memcpy到新的内存中,并free原内存块,然后将新元素加入。 vector的元素插入性能跟以下几个要素关系重大: 1. 插入的位置 头部插入:将所有元素后移,然后将新...原创 2018-08-23 17:08:40 · 1381 阅读 · 0 评论 -
C++STL关联式容器---map和set常用的接口用法以及map和set的区别
setK模型 :set里面每个元素只存有一个key,它支持高效的关键字查询操作,比如检查一个关键字是否在set中或者在 某些文本处理过程中可用set保存想要忽略的单词set的常用接口:begin() 返回set容器的第一个元素end() 返回set容器的最后一个元素rbegin 返回的值和end()相同rend(...原创 2018-07-14 00:03:33 · 2905 阅读 · 2 评论 -
C++对string进行大小写转换
方法一:使用C语言之前的方法,使用函数,进行转换#include &lt;iostream&gt;#include &lt;string&gt;using namespace std;int main(){ string s = "ABCDEFG"; for( int i = 0; i &lt; s.size(); i++ ) {原创 2018-08-23 21:48:20 · 33077 阅读 · 1 评论 -
C++实现 栈和队列
栈(Stack) 栈(Stack): 是只允许在末端(栈顶)进行插入和删除的线性表。 性质:具有先进后出(FILO),后进先出(LIFO,Last In First Out)的性质.两种实现方式:一种是顺序存储,和数组类似。 一种是链式存储,和单链表类似。主要实现的接口:void Push(const T&amp; x);// 从栈顶插入一...原创 2018-06-16 15:32:47 · 1896 阅读 · 1 评论 -
直接插入排序和冒泡排序比较
直接插入排序 :思想:将数组中的所有元素依次和前面的已经排好序的元素相比较(依次),如果选择的元素比已排序的元素小,则交换,直到全部元素都比较过。 代码实现:Sort.h:#pragma once#include &amp;amp;amp;lt;iostream&amp;amp;amp;gt;using namespace std;#include &amp;amp;amp;lt;assert.h&amp;a原创 2018-05-30 23:27:45 · 6733 阅读 · 1 评论 -
C++实现常用八大排序算法—实现及其对比
算法之间 时间复杂度.空间复杂度.稳定性的比较:ps:希尔排序,当N大时,平均的时间复杂度,大约在N^1.25–1.6N^1.25之间。 选择排序算法准则:每种排序算法都各有优缺点。 影响排序的因素有很多,平均时间复杂度低的算法并不一定就是最优的。相反,有时平均时间复杂度高的算法可能更适合某些特殊情况。同时,选择算法时还得考虑它的可读性,以利于软件的维护。一般而言,...原创 2018-06-15 22:06:40 · 32821 阅读 · 4 评论 -
C/C++动态内存管理
目录:1:总结并剖析malloc/free和new/delete之间关系和差异。2:剖析new/delete、new[]/delete[]到底做了些什么事情。3:实现NEW_ARRAY/DELETE_ARRAY宏,模拟new[]/delete[]申请和释放数组。C语言用malloc/calloc/realloc/free进行内存管理void Test(){ int *p1 ...原创 2017-11-03 22:00:15 · 250 阅读 · 0 评论 -
C++完成日期类的实现--Date
实现日期类的一些功能: 操作符重载 bool operator==(const Date& d); //== bool operator!=(const Date& d); //!= bool operator>(const Date& d); // > bool operator>=(const Date& d); // >= bool operator<(原创 2017-10-15 18:46:02 · 1333 阅读 · 0 评论 -
C++类和对象1--四个默认成员函数+运算符重载
1:整理类和对象的基础知识,如类的定义,访问限定符,面向对象封装性,对象的大小计算等等。 2:整理四个默认成员函数及运算符重载相关知识 3:整理隐含的this指针等等,及对运算符重载背后做的事情。原创 2017-10-12 16:06:48 · 326 阅读 · 0 评论 -
C++ &继承(单继承.多继承.菱形(虚拟)继承)
1:分析菱形继承的问题。 2:剖析虚继承是怎么解决二义性和数据冗余的。 多继承:(一个子类有两个或者两个以上的直接父类)菱形继承:#include using namespace std;class A{public: int _a;};class B : public A{protected: int _b;};clas原创 2017-11-10 18:29:30 · 314 阅读 · 0 评论 -
C和C++ const用法的区别
C/C++ const用法的区别区别一:const定义的常量:const定义的常量: C语言:当修饰一个标识符的时候我们来说,这个标识符依然是一个变量,但是它具有常属性,不能被修改。即它定义的变量叫做常变量 C++: const修饰的标识符就是一个常量下面我们通过例子来解释一下它的区别: eg1: C语言和C++中,const修饰的标识符都不能直...原创 2018-06-13 14:18:29 · 2966 阅读 · 0 评论 -
关于const int * ,int const * 以及 int * const 的区别
10原创 2018-06-13 14:43:50 · 41683 阅读 · 9 评论 -
迷宫问题
题目描述迷宫是一个二维矩阵,其中1为墙,0为路,入口在第一列,出口在最后一列。 要求从入口开始,从出口结束,按照 上,下,左,右 的顺序来搜索路径.并且求出最短路径。思想用回溯法,另外递归是天然的回溯法。下面是具体的实现代码:#pragma once#include &lt;iostream&gt;#include &lt;stack&gt;usin...原创 2018-06-22 22:51:10 · 686 阅读 · 0 评论 -
归并排序算法详解及其优化
归并排序算法:思想:分治法每个递归过程涉及三个步骤 第一, 分解: 把待排序的 n 个元素的序列分解成两个子序列, 每个子序列包括 n/2 个元素. 第二, 治理: 对每个子序列分别调用归并排序__MergeSort, 进行递归操作 第三, 合并: 合并两个排好序的子序列,生成排序结果. void __MergeSort( int *a, int left, int ...原创 2018-06-15 21:52:27 · 3027 阅读 · 0 评论 -
【C++】笔记总结—思维导图(超详细!!!)
想要原文件的宝宝,评论自己的邮箱,我发给你们!原创 2018-11-13 12:34:55 · 25786 阅读 · 865 评论