![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++高级语法
金汤肥牛米线
C++/Java/Python
展开
-
C++构造函数,析构函数和this指针的应用——“银行账户的实现”小程序
定义一个类来表示银行账户。数据成员包括储户姓名、账号和存款。成员函数可以执行如下操作:创建一个对象并将其初始化;显示储户姓名、账号和存款;存入参数指定的存款;取出参数指定的款项;使用*this指针进行多个类成员存款数量之间的比较,得到存款数目最多的储户信息;整个程序由3部分组成,头文件,成员函数文件以及操作文件组成。使用Xcode编译。下面是头文件,头文件定义了银行账户的类。//...原创 2019-08-28 21:17:27 · 545 阅读 · 0 评论 -
C++寻找字符串所有的子串
本程序创建了一个string类,实现了string的一些特有的功能:得到string的长度;统计一个 string的子串数目并输出所有的子串;输出一个string;替换一个string的部分单元;把一个string追加到另一个的后面;交换两个string的值;本程序一共有三个文件,头文件定义了相关的类,函数定义文件定义了各个成员函数,测试文件给出了运行结果。其中头文件源码如下:...原创 2019-09-16 21:11:51 · 2583 阅读 · 0 评论 -
C++实现环形队列(数组描述)
环形队列可以在数组长度不变的前提下有效地同时降低队列插入和删除的最坏时间复杂度。数组视为一个环时,每一个位置都会有其上一位置和下一位置,位置0与数组末端位置array_length相邻。同时定义队列头queue_front所在位置沿逆时针方向的下一个元素为队列的头元素,queue_back所在位置的元素为队列的尾元素。当且仅当queue_front = queue_back是,队列为空,考虑到队列...原创 2019-09-14 10:16:19 · 1383 阅读 · 0 评论 -
C++实现队列数据结构(Queue)(链表描述)
队列是一种先进先出(FIFO)的线性表,可以使用链表或数组进行描述。一个队列应该具备如下功能: 1. 创建一个队列; 2. 检查队列是否非空; 3. 得到队列的长度; 4. 得到新入队的元素; 5. 得到准备出队的元素; 6. 执行一次出队操作; 7. 执行一次入队操作; 8. 清空一个队列,并将其元素入队至另外一个队列(下文称“剪贴操作”); 9. 将一个队列中的所有元素入队至...原创 2019-09-10 20:23:41 · 578 阅读 · 0 评论 -
C++实现堆栈数据结构(使用vector容器)
本文使用vector容器构建了一个堆栈数据结构,本程序由三个文件构成,Stack_Vectors.hpp定义了这个类,Stack_Vectors.cpp中构建了各成员函数。main.cpp测试了该程序。本程序使用Xcode编译,其中,头文件源码如下://// Stack_Vectors.hpp// 堆栈(vector)//// Created by lq on 2019/9/9....原创 2019-09-09 20:38:14 · 1110 阅读 · 1 评论 -
C++实现堆栈数据结构(链表描述)
堆栈是一种非常重要的数据结构,可以看成是一种插入和删除均在一端进行的线性表。因此,可以认为堆栈中的元素是“先进后出”。由于堆栈是一种特殊的线性表,而线性表有链表描述和数组描述两种,因此堆栈也可以使用链表描述和数组描述两种方法,同样的,堆栈可以使用线性表的类继承来实现,但是考虑到类继承的方式会降低堆栈的运行效率,本文所实现的堆栈没有考虑这个方式。一个堆栈应该具备如下的功能:1.创建一个堆栈;2...原创 2019-09-07 21:09:57 · 546 阅读 · 0 评论 -
C++实现线性表(链表描述)
本文使用C++实现了一个线性表(数组描述)。该程序由三个文件构成,第一部分是头文件,头文件定义了一个链表的节点的结构体,同时在该结构体的基础上定义了一个线性表类,该抽象类中定义了绝大部分线性表的成员函数,其中包括:确定线性表是否为空确定线性表中数据的数目添加一个数据按一个给定索引查找其对应的元素按数据删除一个节点遍历输出(反向输出)该线性表格式化该线性表排序(反向排序)该线性表...原创 2019-09-02 22:31:38 · 663 阅读 · 0 评论 -
C++实现线性表(数组描述)
本文使用C++实现了一个线性表(数组描述)。该程序由三个文件构成,第一部分是头文件,头文件首先定义了一个抽象的线性表类,该抽象类中定义了绝大部分线性表的成员函数,其中包括:确定线性表是否为空按一个给定的索引查找元素按一个给定元素查找其索引按索引删除元素按索引插入元素遍历输出该线性表第二个类继承该抽象类,定义了四个私有成员,包括定义数组,定义数组长度,定义线性表长度以及一个检查该线性...原创 2019-09-01 20:34:58 · 1129 阅读 · 0 评论 -
使用C++的vector——计算两数之和并返回其下标
LeetCode原题网址:两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0...原创 2019-08-31 09:14:02 · 1154 阅读 · 0 评论 -
一个程序调用三种排序方法(冒泡排序、插入排序和归并排序)
本程序创建了三个排序函数,可以任意通过调用冒泡排序算法,插入排序算法以及归并排序算法进行排序。本程序一共有6个文件,分别是头文件,sort_file.hpp,以及5个.cpp文件,头文件中定义了一个类,方便程序添加新的功能。下面是头文件://// sort_file.hpp// sortfile//// Created by lq on 2019/8/29.// Copyri...原创 2019-08-29 23:00:05 · 739 阅读 · 0 评论 -
C++实现字典数据结构
本文使用C++构建了一个字典数据结构,未使用STL,实现了一个学生成绩录入系统,进而实现了字典数据对象的如下功能:新建一个字典;检查字典非空;得到字典的数据长度;插入一个数对;按学生姓名删除对应的字典数据;按分数查找所有符合的学生姓名;按姓名查找对应成绩;遍历输出链表;该程序使用了pair容器,整个程序基于线性表数据结构(链表描述)。由3个文件构成,头文件定义了字典类,函数定...原创 2019-09-23 20:47:18 · 8212 阅读 · 0 评论