自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021-10-11 数据结构与算法 4 串

目录串基本操作串链KMP算法串基本操作头文件#pragma once#include<stdlib.h>#include<stdio.h>#include"4.1串.h"#define maxsize 1024typedef struct{ char ch[maxsize]; int length;}SeqString;SeqString *s;//求串长int StrLength(char*s);//串赋值(串赋值)void

2021-10-11 14:27:11 185

原创 2021-09-12 数据结构与算法 3.2 队列

1、循环队列头文件#pragma once#include <stdio.h>#include <stdlib.h>#define maxsize 1024typedef int datatype;typedef struct{ datatype data[maxsize]; int front; int rear;}SeQueue;SeQueue *sq= (SeQueue*)malloc(sizeof(SeQueue));//生成循环队...

2021-09-12 11:43:38 194

原创 2021-09-11 数据结构与算法 3.1 栈

1、顺序栈头文件#pragma once#include <stdio.h>#include<stdlib.h>#define maxsize 1024typedef int datatype;typedef struct{ datatype data[maxsize];//栈中元素存储空间 int Top;//栈顶指针}SeqStack;//栈初始化void InitStack(SeqStack*&S);//置空栈void SetN..

2021-09-11 11:07:27 393

原创 2021-09-08 数据结构与算法 2.2 链表(顺序链表 循环链表 双循环链表)

单链表头文件:#pragma once#include <stdio.h>#include <stdlib.h>typedef char datatype;//数据类型存储typedef struct node//定义链表{ datatype data; struct node *next;}linklist;linklist *head,*p;//head 为头指针,p为工作指针//头插法创建链表linklist*Creat_Head();..

2021-09-08 22:22:04 140

原创 2021-09-05 数据结构与算法 2、1线性表的顺序存储结构

目录头文件.h线性表.CPP头文件.h#pragma once#include<stdio.h>#include <stdlib.h>#define maxsize 1024//定义顺序表结构类型typedef int datatype;typedef struct{ datatype data[maxsize]; int last;}sequenlist;sequenlist*InitList(){ sequenlist*L =

2021-09-05 12:22:46 161

原创 2021-09-09 C++提升学习案例--演讲管理系统

总的这个案例还是比较复杂,优点难以理解的当然写多了也就习惯了speaker.h#pragma once#include <iostream>using namespace std;//选手类class Speaker{public: string m_Name; // 姓名 double m_Score[2]; //分数 最多有两轮得分};speechManager.h#pragma once#include <iostream>

2021-09-03 17:55:04 162

原创 2021-08-24--25 C++提升学习 - > 5 STL常用算法学习

5.1.1、for_each#include <iostream>#include <string>#include <vector>#include <algorithm>using namespace std;void print01(int val){ cout << val << " ";}class print02{public: void operator()(int val) { ..

2021-08-25 12:33:42 421

原创 2021-8-20 C++提升学习 -> 4、STL函数对象

目录4.1、函数对象4.2.1-4.2.2、一元谓词4.2.3、二元谓词4.3.1、算数仿函数4.3.3、关系仿函数4.3.4逻辑仿函数4.1、函数对象1、函数对象在使用的时候,可以像普通函数那样调用,可以有参数,可以有返回值2、函数对象超出了普通函数的概念,可以拥有自己的状态3、函数对象可以作为参数进行传递#include <iostream>#include <string>using namespace std;class

2021-08-20 11:27:22 55

原创 2021-8-20 C++提升学习 -> 3.10、STL案例2--员工分组

#include <iostream>#include <string>#include <map>#include <vector>#include<ctime>using namespace std;#define CEHUA 0#define MEISHU 1#define YANFA 2class Worker{public: string m_Name; int m_Salary;};void cre.

2021-08-20 10:35:28 92

原创 2021-8-19 C++提升学习 -> 3.9、map容器

3.9.2、赋值和构造#include <iostream>#include <string>#include <map>using namespace std;void printMap(map<int, int>&m){ for (map<int, int>::iterator it = m.begin(); it != m.end(); it++) { cout << "key = " &lt..

2021-08-19 08:17:02 59

原创 2021-8-18 C++提升学习 -> 3.8、set容器

目录3.8.2、构造和赋值3.8.3、大小和交换3.8.4、插入和删除3.8.5、查找和统计3.8.6、set与multiset区别3.8.7、pair使用3.8.8、内置类型指定排序顺序规则3.8.9、自定义数据类型指定排序规则3.8.2、构造和赋值set容器特点:所有元素插入的时候回自动排序set容器不允许插入重复的值#include <iostream>#include <string>#include <set&gt

2021-08-18 09:50:05 189

原创 2021-8-17 C++提升学习 -> 3.6、queue容器

目录3.6.1、queue 基本概念3.6.2、queue常用接口3.6.1、queue 基本概念与栈相反,先进先出3.6.2、queue常用接口#include <iostream>#include <string>#include<queue>using namespace std;class person {public: person(string name, int age) { this->m_Age =

2021-08-17 11:36:15 49

原创 2021-8-17 C++提升学习 -> 3.7、list容器

目录3.7.1 基本概念3.7.2 构造函数3.7.3复制和交换3.7.4 大小操作3.7.5 插入和删除3.7.6数据存取3.7.7反转和排序3.7.8排序案例3.7.1 基本概念详情见数据结构中链表并且在STL库中链表是双向循环的3.7.2 构造函数#include <iostream>#include <string>#include<list>using namespace std;void print

2021-08-17 11:18:12 73

原创 2021-8-16 C++提升学习 -> 3.5 stack容器

目录3.5.1stack基本概念3.5.2stack常用接口3.5.1stack基本概念见数据结构:栈3.5.2stack常用接口#include <iostream>#include <string>#include <stack>using namespace std;void test01(){ //特点:符合先进后出的结构 stack<int>s;...

2021-08-16 16:49:00 84

原创 2021-8-16 C++提升学习 -> 3.4、STL案例--评委打分

#include <iostream>#include <string>#include<vector>#include<deque>#include<algorithm>#include<ctime>using namespace std;class person{public: person(string name, int age) { this->m_age = age; this-&gt.

2021-08-16 16:32:26 90

原创 2021-8-16 C++提升学习 -> 3.3、deque容器

目录3.3.1、构造函数3.3.3、赋值操作3.3.4、大小操作3.3.5、插入和删除3.3.6、数据存取3.3.7、排序操作3.3.1、构造函数#include <iostream>#include <string>#include <deque>using namespace std;void printDeque(const deque<int>&d){ for (deque<int&gt

2021-08-16 16:05:15 63

原创 2021-8-11 C++提升学习 -> 3.2、vector容器

目录3.2.1 构造函数3.2.3赋值操作3.2.4容量和大小3.2.5插入和删除3.2.6 数据存取3.2.7 互换容器3.2.8 预留空间3.2.1 构造函数vector<int>v1;//默认构造 无参构造//通过区间方式构造 vector<int>v2(v1.begin(), v1.end());//n个elem方式构造 vector<int>v3(10, 100);//拷贝构造 vector...

2021-08-11 11:42:25 83

原创 2021-8-11 C++提升学习 -> 3、string容器

3.1.2string构造函数string(); 创建一个空的字符串 string(const char* s); 使用字符串s初始化string(const string& str); 使用一个string对象初始化另一个string对象string(int n, char c); 使用n个字符c初始化#include <iostream>#include <string&...

2021-08-11 10:16:14 77

原创 2021-8-10 C++提升学习 -> 2、STL与vector容器初探

2.5.1 vector三种方法遍历vector中数据1、通过迭代器访问容器中的数据 vector<int>::iterator itBegin = v.begin();//起始迭代器 指向容器中第一个元素 vector<int>::iterator itEnd = v.end();//结束迭代器 指向容器中最后一个数据的下一个元素第一种遍历方式 while (itBegin != itEnd) { cout <...

2021-08-10 10:12:33 94

原创 2021-8-9 数据结构和算法应用 -> 2、线性结构①

什么是线性表1、同于一个问题可以有不同的表示(存储)方法2、有一类共性问题:有序线性序列的组织和管理线性表:由同类型 数据元素 构成 有序序列 的线性结构*表中元素个数称为线性表的长度*线性表没有元素时,称为空表、*表起始位置称表头,表结束位置称表尾线性表的顺序存储实现利用数组的连续存储空间顺序存放线性表的各元素主要操作的实现1、初始化(建立空的顺序表)List MakeEmpty(){ List Ptrl; Ptrl = (List)malloc(sizeof

2021-08-09 17:07:56 74

原创 2021-8-9 C++提升学习 -> 1.3 类模板

目录1.3.1类模板语法1.3.2 类模板与函数模板区别1.3.3类模板中成员函数创建时机1.3.4类模板对象中做函数参数1.3.5类模板与继承1.3.6类模板成员函数类外实现1.3.7类模板分文件编写1.3.8类模板与友元1.3.9类模板案例1.3.1类模板语法template<class NameType,class AgeType>class person{public:NameType m_Name; AgeType m_...

2021-08-09 11:46:06 98

原创 2021-8-8 数据结构和算法应用 -> 1、初探数据结构

目录1.1.2关于空间使用1.1.3关于算法效率1.1.4抽象型数据结构1.2算法1.1.2关于空间使用递归#include <iostream>#include <stdio.h>using namespace std;//递归函数 打印数字void printN(int N){ if (N) { printN(N - 1); printf("%d\n", N); } return;}int main(){ in

2021-08-08 20:11:00 107

原创 2021-8-8 C++提升学习 -> 1.1&1.2 函数模板

目录1.1模板的概念1.2.1函数模板语法1.2.2函数模板的注意事项1.2.3函数模板案例1.2.4普通函数与模板函数的区别1.2.5普通函数与函数模板的调用规则1.2.6模板的局限性1.1模板的概念template<typename T>1.2.1函数模板语法template<typename T>//声明一个模板,告诉编译器后面代码中紧跟着的T不要报错,T是一个通用数据类型利用函数模板交换 两种方式使用函数模...

2021-08-08 13:04:41 76

原创 2021-8-7 C++进阶学习 -> 5、文件操作

5.1.1写文件1、包含头文件 fstream2、创建对象3、指定打开方式4、写内容5、关闭文件#include <iostream>#include <string>#include <fstream>using namespace std;//文本文件写文件void test01(){ //1、包含头文件 fstream //2、创建对象 ofstream ofs; //3、指定打开方式 ofs.open("te

2021-08-07 10:59:15 66

原创 2021-8-6 C++进阶学习 -> 4.7多态

目录4.7.1多态的基本概念4.7.2多态案例一 --计算机类4.7.3纯虚函数和抽象类4.7.4多态案例二--制作饮品4.7.5虚析构和纯虚析构4.7.6多态案例三--电脑组装4.7.1多态的基本概念4.7.2多态案例一 --计算机类4.7.3纯虚函数和抽象类4.7.4多态案例二--制作饮品4.7.5虚析构和纯虚析构4.7.6多态案例三--电脑组装...

2021-08-06 12:36:43 221

原创 2021-8-5 C++进阶学习 -> 4.6继承

目录4.6.1 继承的基本语法4.6.2 继承方式4.6.3 继承中的对象模型4.6.4 继承中构造和析构顺序4.6.5 继承同名成员处理方式4.6.6继承同名静态成员处理方式4.6.7 多继承语法4.6.8 菱形继承4.6.1 继承的基本语法继承好处:减少重复代码语法:class 子类 : 继承方式 父类子类也称为派生类父类也成为基类#include <iostream>#include <string>using nam

2021-08-05 13:04:48 103

原创 2021-8-4 C++进阶学习 -> 4.5运算符重载

目录4.5.1加号运算符重载4.5.2左移运算符重载4.5.3递增运算符重载4.5.4赋值运算符重载4.5.5关系运算符重载4.5.6函数调用运算符重载4.5.1加号运算符重载加号运算符重载1、成员函数重载+成员函数调用本质 Person p3 = p1.operator+(p2); Person p3 = p1 + p2;2、全局函数重载+ Person p3 = operator+(p1, p2); Person p3 = ...

2021-08-04 12:52:50 90

原创 2021-8-3 C++进阶学习 -> 4.4友元

目录4.4.1 全局函数做友元4.4.2 类做友元4.4.3成员函数做友元4.4.1 全局函数做友元//goodGay 全局函数是 Building的好朋友 可以访问building中私有成员 friend void goodGay(Building *building);在类中声明全局函数,并在前面加friend#include <iostream>#include <string>using namespace std;//全局函数做...

2021-08-03 12:43:06 152

原创 2021-8-3 C++进阶学习 -> 4.3 C++对象模型和this指针

目录4.3.1 成员变量和成员函数分开储存4.3.2 this指针概念4.3.3 空指针访问成员函数4.3.4 const修饰成员函数4.3.1 成员变量和成员函数分开储存成员变量和成员函数是分开存储的 int a;//非静态成员变量,属于类的对象上的 static int b;//静态成员变量 不属于类对象上 void func()//非静态成员函数 不属于类的对象上 {} static void func2(){}//静态成员函数...

2021-08-03 11:33:51 61

原创 2021-8-2 C++进阶学习 -> 4.2类和对象--对象的初始化和清理

4.2.1 构造函数和析构函数构造函数 没有返回值,不用写void 函数名 与类名相同 构造函数可以有参数,可以发生重载 创建对象的时候,构造函数会自动调用,而且只调用一次析构函数 进行清理的操作 没有返回值 不写void 函数名和类名相同 在名称前面加~ 析构函数不可以有参数 不可以发生重载 对象在销毁前 会自动调用析构函数 而且只会调用一次#include <iostream>#include <strin...

2021-08-02 12:31:25 138

原创 2021-8-1 C++进阶学习 -> 4.1类和对象--封装

4.1.1封装的意义class代表要设计一个类,后面紧跟着类的名字类中的属性和行为都叫做成员属性 成员属性 成员变量<-->行为 成员函数 成员方法实例化(通过一个类,来创建一个对象的过程#include <iostream>#include <string>using namespace std;const double PI = 3.14;//class代表要设计一个类,后面紧跟着类的名字class circle { //访问权限

2021-08-01 20:43:01 128

原创 2021-7-31 C++进阶学习 ->1.内存模型

2021-07-31 21:25:21 54

原创 2021-7-31 C++进阶学习 ->3. 函数进阶学习(参数学习)

3.1、函数默认参数注意事项:1、如果某个位置有了默认参数,那么从这个位置以后,函数都要有默认参数2、如果函数声明有默认参数,函数实现就不能有默认参数,声明和实现只能有一个默认参数#include <iostream>using namespace std;int func(int a, int b = 20, int c = 30) { return a + b + c;}//注意事项://1、如果某个位置有了默认参数,那么从这个位置以后,函数都要有默认参数//

2021-07-31 20:54:08 54

原创 2021-7-30 C++基础实践项目:通讯录管理系统

#include <iostream>#include <string>#define MAX 1000using namespace std;//设计联系人的结构体struct person { //姓名 string name; //性别 int sex; //年龄 int age; //电话 string phone; //住址 string addr;};//通讯录结构体struct addressbooks { //联系人数组.

2021-07-30 13:09:28 674

原创 2021-07-29 C++基础结构体项目 结构体实例

实例1#include <iostream>#include <cstring>#include <cstdlib>//为了使用random函数#include <ctime>//为了使用随机数using namespace std;struct student{ int age; int score; string name;};//定义学生结构体struct teacher{ string name; struc..

2021-07-29 15:54:09 447

空空如也

空空如也

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

TA关注的人

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