- 2024-11-21深入计算机语言之C++:STL之vector的认识和使用
- 2024-11-1497.【C语言】数据结构之栈
目录栈1.基本概念2.提炼要点3.概念选择题4.栈的实现栈初始化函数入栈函数出栈函数和栈顶函数栈顶函数栈销毁函数栈基本概念参见王爽老师的《汇编语言第四版》第56和57页节选一部分1.基本概念2.提炼要点1.定义:一种特殊的线性表,其只允许在固定的一端进行
- 2024-11-06模版初阶(模版)
目录模版堆c++的重要性泛型编程函数模版函数模板的格式:函数模版的原理:函数模版的实例化:模版参数的匹配使用类模板:模版的定义和声明:类模板和函数模板的区别:补充:模版堆c++的重要性其实在函数重载里面可以解决这个问题,但是我们却可以使用c++发明出的模板,这个博班让c+
- 2024-11-01【C++】string 类模拟实现:深入探索字符串操作原理
快来参与讨论
- 2024-10-31C++ 手撕--基本数据结构的简单实现
C++面试手撕代码----基本数据结构的简单实现1.String数据结构的简单实现:#include<iostream>#include<cstring>//forstrcpystrlenmethodsusingnamespacestd;classString{private: char*data; size_tlength;public: String():data(nullptr),length(0)
- 2024-10-20栈结构的实现
栈的概念与结构栈:一种特殊的线性表,只允许再固定的一端进行插入和删除元素操作。栈中的数据元素遵循后进先出的原则。栈的结构:栈的数据保存再数组中typedefstructStack{ STDataType*arr; inttop; //栈顶 intcapacity;//容量}Stack;栈的初始化:voidStack
- 2024-10-16Java中栈的数组存放方式
今天课余时间学习了栈的数组存储方式:publicclassArrayStack{//创建一个名为stack的私有整型数组privateint[]stack;//创建一个指向栈顶的指针,私有,整型privateinttop;//构造函数初始化publicArrayStack(intcapacity){//capacity:容量;此处
- 2024-10-14STL.string(上)
stringstring类string类构造string类对象的容量操作size和lengthmax_sizeappend小总结下size、capacity、append、operator+=resizereserve初识迭代器附录1.vs下string结构的说明(解释前文为什么capacity是16而不是别的)由于string创始初期没有参照导致的冗余问题,这
- 2024-10-14STL——string类的模拟实现
一.STL简介 1.1什么是STL STL(standardtemplatelibaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。1.2STL的六大组件接下来开始模拟实现STL中的常用string类三个成员变量char*
- 2024-10-12【STL】vector的介绍及使用
文章目录目录文章目录前言二、vector常用接口的使用1.vector的定义2.vectoriterator的使用3.vector空间增长问题4.vector的增删查改find函数5.迭代器失效问题
- 2024-10-02C语言顺序表 逐行解析!!!
1、顺序表的概念及结构线性表(linearlist)是n个具有相同特性的数据元素的有限序列。线性表是⼀种在实际中⼴泛使⽤的数据结构,常⻅的线性表:顺序表、链表、栈、队列、字符串...线性表在逻辑上是线性结构,也就说是连续的⼀条直线。但是在物理结构上并不⼀定是连续的,线性表在物
- 2024-09-29数据结构————顺序表
1.线性表什么是线性表呢大家往下面看:其实线性表(linearlist)是n个具有相同特性的数据元素的有限序列。线性表是⼀种在实际中⼴泛使⽤的数据结构,常⻅的线性表:顺序表、链表、栈、队列、字符串(线性表在逻辑上是线性结构,也就说是连续的⼀条直线。但是在物理结构上并不⼀定是
- 2024-09-29数据结构(顺序表)
无论你期望或者不期望,清晨依旧来临。--谏山创《进击的巨人》线性表的概念1.线性表是n个具有相同特性的数据元素的有限序列。2.线性表在逻辑上是线性结构,但是在物理结构上并不⼀定是连续的。3.线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表的概念
- 2024-09-26C++ day06
手动实现栈:#include<iostream>#include<cstring>usingnamespacestd;classStatic{private:int*arr;//动态分配栈inttop;//指向栈顶元素intcapacity;//记录栈的最大容量public://有参构造函数Static(i
- 2024-09-25STL之手撕vector
前言面试的时候遇到了,是从来没想过会出问题的手撕。竟然在面试环节下出了不少纰漏。要点构造函数:默认构造、拷贝构造、赋值运算符重载、移动构造函数、析构函数push_back/pop_back代码#include<iostream>usingnamespacestd;#defineDEFAULT_CAP(200)class
- 2024-09-24string和oj题以及vector的接口介绍
前言上篇博客学习了一些string类的模拟实现erase、find、substr、比较大小、流输入、流输出,这篇博客将介绍剩下的一些string的知识以及vector的一些使用方式。string传统深拷贝的写法//拷贝构造string(conststring&s){ _str=newchar[s._capacity+1]; strcpy(
- 2024-09-24C++:STL:String类常用函数介绍(附加部分重要函数的模拟实现)
C语言中,字符串是以'\0'结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。如果我们经常在leetcode上刷OJ题,我们会发现字符串类型的题目基本都是
- 2024-09-23多线程之手撕生产者-消费者
要点维护一个资源(在生产者-消费者中即流水线的位置)池,实现put()/get()两个函数。由于对信号量的操作是互斥的,要引入条件变量和信号量。实现资源池类Pool,成员变量:mtx:mutexcv:condition_variableque:queuecapacity:int实现资源池类Pool,成员函数:Tget():获取
- 2024-09-22C++入门——类和对象(上)
文章目录一、类的定义1.1类的定义格式1.2访问限定符1.3类域二、实例化2.1实例化概念2.2对象大小三、this指针四、C++和C语言实现Stack栈的对比总结一、类的定义1.1类的定义格式class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后⾯分
- 2024-09-19146. LRU 缓存
\classLRUCache{public:LRUCache(intcapacity):_capacity(capacity){}intget(intkey){autoit=_unorderedMap.find(key);if(it!=_unorderedMap.end()){_list.splice(_list.begin(),_list,it->se
- 2024-09-18算法学习每日一题之2332. 坐上公交的最晚时间:二分答案 & 贪心双指针
Problem:2332.坐上公交的最晚时间人话题意:你是一个懒惰的人,虽然你要赶公交车,但你想多睡会,恰好你知道每辆车的发车时间buses和每辆车容capacity,和每个乘客乘车的时间passenger,旨在求可以赶上公交车的最晚出发时间。思路一:二分答案求最晚能满足赶上公交的时间,可以发现
- 2024-09-17Linux内核中cpu_capacity是什么?
cpu_capacity在Linux内核中,cpu_capacity是用于表示每个CPU的处理能力的一个参数,通常用于调度器的负载均衡。它表明不同的CPU核心在计算资源分配中的相对性能,尤其在异构多核架构(如ARM的big.LITTLE架构)中,不同的核心可能具有不同的计算能力。主要概念同构和异构架构:在同构架
- 2024-09-12arraybag1arrayBagDemo1
/** AtestoftheconstructorsandthemethodsaddandtoArray, asdefinedinthefirstdraftoftheclassArrayBag. @authorFrankM.Carrano @version4.0*/publicclassArrayBagDemo1{ publicstaticvoidmain(String[]args) {
- 2024-09-10STL01——手写简单版本的vector
STL01——手写简单版本的vector设计一个名为MyVector的Vector类,该类应具备以下功能和特性:1、基础成员函数:构造函数:初始化Vector实例析构函数:清理资源,确保无内存泄露拷贝构造函数:允许通过现有的MyVector实例来创建一个新实例拷贝赋值操作符:实现MyVector
- 2024-09-06简单实现限流中间件
本文由ChatMoney团队出品引言在现代Web应用开发中,限流是一个重要的概念,它能够保护服务器免受流量攻击,确保服务的稳定性和可用性。Go语言以其高性能和并发处理能力在后端服务开发中广受欢迎。Gin是一个使用Go语言编写的Web框架,以其简洁和高效著称。在Gin框架中,通过中间件实现