随笔分类 - C++
摘要:通过一小段程序阐述C++中构造函数和析构函数的调用顺序
阅读全文
摘要:目录:Linked List CycleBinary Tree Right Side ViewAdd Two NumbersWord BreakTwo Sum3SumGas StationLinked List Cycle IILinked List Cycle 返回目录Given a linked...
阅读全文
摘要:1.如下代码输出结果是什么?12345678910111213141516#includechar *myString(){char buffer[6] = {0};char *s ="Hello World!";for (int i =0; i using namespace std;class ...
阅读全文
摘要:1 #include 2 #include 3 #include 4 using namespace std; 5 void knuth(int n, int m) 6 { 7 srand((unsigned int)time(NULL)); 8 for (int i = 0; i...
阅读全文
摘要:前言:这是关于LeetCode上面练习题C++的笔记,有些地方参考有网友的解题方法(可能有些参考没能注明,望谅解),如有需要改进的地方希望留言指教,多谢!目录:ZigZag ConversionReverse digits of an integerImplementatoito convert a...
阅读全文
摘要:1. 交换排序的基本思想两两比较key值,如果发生逆序(排列的顺序与期望的顺序相反)就交换,知道所有对象都排序完毕!常见的3种交换排序算法:冒泡排序,shaker排序和快速排序。2. 冒泡排序设待排序列中有 n 个对象, 首先比较对象v[n-1]和v[n-2], 如果v[n-1] 4 #incl...
阅读全文
摘要:1.原理介绍希尔排序又称为缩小增量排序,由D.L.Shell在1959年提出而得名。该算法先取一个小于数据表中元素个数 n 的整数gap, 并以此作为第一个间隔,将数据分为gap个子序列,所有距离为gap的对象存放在同一个子序列中,于是数据表中的元素就被分成了gap个组,分组确定后,在每一个小组中进...
阅读全文
摘要:1.直接插入排序直接插入排序的过程可以理解为一个固定长度的数组被分为两个集合,即已排序集合和未排序。开始时已排序集合为空,而未排序集合即为整个数组。当排序开始后插入一个对象,已排序集合元素数目加1,相应地未排序集合元素数目减1,重复插入过程直至将未排序集合清空为止,这时排序集合就是最终结果。如下图:...
阅读全文
摘要:今天在删除vector中的元素中遇到一个问题,这里记录下来以便以后查阅。预备知识:用到了erase()函数,对于一个容器c来说,假设迭代器为p,那么执行:c.erase(p)之后就删除了容器c中p所指向的元素,并且返回一个迭代器,返回的迭代器指向刚才所删除元素后面的一个元素(这里是关键)!有了上面的...
阅读全文
摘要:友元函数,友元类,友元成员函数以及共同友元的介绍及使用。
阅读全文
摘要:运算符重载介绍及使用,并介绍一些运算符重载的限制。
阅读全文
摘要:C++从C语言继承了一个与字符相关的、非常方便的函数软件包,它可以简化诸如确定字符是否为大写字母、数字、标点符号等工作
阅读全文
摘要:作用域为类的常量和作用域内枚举
阅读全文
摘要:介绍了由文本文件读取数据到vector模板建立的二维数组,以及如何存储数据到文本文件
阅读全文
摘要:一、流的概念数据从内存的一个地址移动到另一个地址称为数据流动——流操作流操作是通过缓冲区(buffer)机制实现的。缓冲区:内存的一块区域——用作文件与内存交换数据。数据从文件中读出:文件→ 缓冲区→ 内存将数据写入文件:内存→ 缓冲区→ 文件为什么要使用缓冲区而不直接从文件中读取数据到内存或者直接...
阅读全文
摘要:一、函数重载因为函数重载比较容易理解,并且非常有助于我们理解函数模板的意义,所以这里我们先来用一个经典的例子展示为什么要使用函数重载,这比读文字定义有效的多。现在我们编写一个交换两个int变量值得函数,可以这样写:1 void swap(int & a, int & b)2 {3 int tm...
阅读全文
浙公网安备 33010602011771号