自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 自己实现vector(C++)

#ifndef MVECTOR_H#define MVECTOR_H#include<iostream>#include"vector_iterator.h"using namespace std;template<typename T>class Mvector{public: typedef Vector_Iterator<Mvector<T>> iterator; Mvector(T* arr, int len) { _len

2021-07-13 11:11:10 208

原创 对vector进行测试(C++)

#include<vector>#include<iostream>using namespace std;/*模板 ----- 忽略类型的 函数/类 模板会在使用的时候根据传入或者推导出来的类型自动进行模板实例化函数模板函数模板的实例化类模板类模板的实例化模板基础模拟vector智能指针*/int main(){ vector<vector<int>> arr; for (int i = 0;

2021-07-13 10:20:14 427

原创 Linux文件命令(2)

1.文件查看命令1.1 cat1.1.1 查看文件内容,示例如下:1.1.2 合并文件,示例如下:1.1.3 往文件中写入数据, Ctrl+d 是结束输入,示例如下:1.2 more当一个文件的内容超过一个屏幕能显示的行数,使用 more 可以分屏显示文件内容。使用方式: more filename1.3 less文本内容查看器,查看文件内容,但是文件内容不会显示到界面上1.5 head显示文件前 n 行的内容,示例如下:...

2021-06-10 11:51:09 219

原创 LINUX基础(1)

信号量:作用,用来同步进程P ,V操作:对信号量的值进行加1和减1

2021-06-10 11:32:50 222

原创 5.string写实拷贝

哦哦哦哦哦哦

2021-06-09 11:12:06 72

原创 6.迭代器

迭代器:#ifndef MITERATOR_h#define MITERATOR_h//#include"mstring.h"class Mstring;class Miterator{private: Mstring* _p_mstr; int _sit;public: Miterator(Mstring* p_mstr,const int sit) //构造函数,通过参数来构造 { _p_mstr = p_mstr; _sit = sit; } Miterato

2021-06-08 21:21:35 52

原创 3.运算符的重载和大数运算

一.运算符的重载#include<iostream>using namespace std;class FuN{private: int _a; int _bi;public: FuN(int a, int b) { _a = a; _bi = b; } FuN(const FuN& src)//拷贝构造函数,如果不加引用,会构成死循环 { _a = src._a; _bi = src._bi; } void show() {

2021-06-08 21:20:58 161 1

原创 4.自己模拟实现一个string

main.cpp#include<iostream>#include<string>using namespace std;int main(){ string s1("aaa"); string s2("bbb"); string s3; s3 = s1; s3 = "ccc"; s3 = s1 + s2; s3 = s1 + "ddd"; s3 = "ddd" + s1; s3 += s1; if (s1 > s2) {} if (s1

2021-06-08 21:19:59 75

原创 2.单例模式

一.双向链表的增删改查node.h#ifndef NODE_H#define NODE_Hstruct Node{ int _data; Node* _next; Node* _pro; //形成一个双向链表};#endiflist.h#ifndef LIST_H //防止多次引用头文件,如果引用了直接跳到最后一行#define LIST_H#include"node.h"#include<iostream>using namespace std;cl

2021-06-08 15:24:54 52

原创 leecod刷题

62.不同路径解题思路:在如图3*7的网格中:要从星号的位置走到星号的位置,通过一条一条数发现有28条路径。如题目中所描述的,机器人只能向右走和向下走,所以将网格中第一行和第一列位置都置为1,然后其它位置是其上方和左方的数字之和。C代码如下:int uniquePaths(int m, int n){ int arr[m][n]; for(int i=0;i<m;i++) { for(int j=0;j<n;j++) {

2021-05-31 16:41:27 282

原创 6.简单选择排序,堆排序,桶排序,(基础数据结构)

一.简单选择排序和堆排序选择排序:每次从待排序队列中找到最小值,和待排序队列的第一位交换即可选择排序具体实现代码://时间复杂度O(n^2) 空间复杂度O(1) 不稳定的 void SelectSort(int arr[], int len) { //assert int minindex; //存放最小值的下标 for(int i=0; i<len-1; i++) { minindex = i; //循环开始前先认为待

2021-05-28 14:57:37 161

原创 4.串和字符串查找算法(基础数据结构)

BF算法有哪些特点:优点:容易理解缺点:时间复杂度太大了,是O(n*m)那么为什么还要有KMP算法:i 不回退,打死都不回退KMP算法极端情况下,时间复杂度为O(n+m)K M P 是发现这个算法的三个外国数学家的名字首字母两个难点:i 为什么不回退?j 回退到哪了?...

2021-05-21 10:29:10 263 1

原创 3.栈和队列(基础数据结构)

一.栈二.队列

2021-05-21 00:50:03 76

原创 5.排序方法(基础数据结构)

直接插入排序和希尔排序不难,难点在排序的方法比较多,8种先讲直接(选择)插入排序有两种方式:升序和降序 我使用升序第一种排序:直接(简单)插入排序:每次向已经排序好的队列里面找个合适的位置,将值插入具体代码实现:#include <stdio.h> #include <assert.h> //笔试和面试: //1.算法的描述 2.算法的实现 3.效率(时间复杂度和空间复杂度和稳定性) //稳定性定义:如果两个关键值A和A`,如果一开始A就在A`前面,你排序后A

2021-05-21 00:26:48 91

原创 2.双向链表和循环链表(基础数据结构)

一.双向链表1.单链表和顺序表的优缺点顺序表:优点:可以通过下标来直接访问数据,时间复杂度O(1)​ 简单,好想好理解​ 尾插和尾删不需要移动数据,时间复杂度是O(1)缺点:插入和删除要移动数据,时间复杂度是O(n)单链表:优点:链式结构,插入删除不需要移动数据,只需要改变一下它指针的指向,时间复杂度为O(1)缺点:不可以通过下标来直接访问,时间复杂度为O(n)二.循环链表...

2021-05-12 19:11:53 101

原创 Quick Sort (快速排序法和系统提供的快排函数)

自编快速排序法方案一:#include<stdio.h>#include<assert.h> //数据约有序,快排的效率越低,数据约无序,快排的效率约高//划分函数int Parition(int* br, int left, int right){ assert(br != nullptr); int i = left; int j = right; int tmp = br[i]; while (i < j) { while (i<j

2021-04-26 21:33:00 501

原创 1.顺序表、单链表(基础数据结构)

1、vs 基础使用使用“解决方法” 来管理所有的工程。2、算法的评价2.1、时间复杂度时间复杂度是算法的与问题规模大小的一个函数。从算法中抽取一个基本操作,以基本操作执行的次数来衡量算法的效率1、O(1)没有循环,或者循环的次数与问题的规模没有关系 – 循环是的次数是一个常数2、O(n)算法肯定是有循环或者递归, 而且这种循环或递归执行的次数与问题规模相等(控制循环或者递归的变量是以+1,或者 -1的方式趋于退出条件发生的)。3、 O(n^2)两个O(n)相乘。 循环嵌套4、O(l

2021-04-23 21:10:02 121

原创 项目:打字母游戏

打字母游戏:1.项目要求:随机产生一个字母从屏幕上方向下落,玩家输入字母,如果和显示的字母相同,就消去字母;游戏会再随机产生一个字母,继续游戏,如果字母落出屏幕,玩家失败,游戏结束;2.项目分析:项目由两个模块组成:1)显示模块; 2)处理模块;2.1显示模块由二维数组构成,把随机产生的字母赋值到二维数组中.2.2处理模块功能有:随机产出字母, 输入字母比较, 字母是否落出屏幕, 字母下降功能.#include<stdio.h>#include<string.h>

2021-04-19 13:32:02 510 1

原创 分支语句和循环语句以及函数初步

1.switch语句基本格式switch(整型变量表达式){case 常量1; 语句块1; break; //常量要是整型常量,不能有变量case 常量1; 语句块1; break;......default:语句;break;}当变量表达式所表达的值与其中一个case语句中的常量相符时,就执行case语句后面的程序,并依次去执行所有case语句中的程序,除非遇到break语句,跳出switch为止.也就是说整个switch语句执行结束了,接着会去执行switch后面的

2021-04-11 21:10:44 73

原创 CSDN用法

(学会使用CSDN)欢迎使用Markdown编辑器在这里插入代码片你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选

2021-04-09 20:23:12 1718 1

空空如也

空空如也

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

TA关注的人

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