
C++
文章平均质量分 63
C++
尬尬_
我的互联网笔记本
展开
-
STL之迭代器种类
普通迭代器:iterator逆序迭代器:reverse_iterator;只读迭代器:const_iterator;原创 2020-03-11 20:05:14 · 113 阅读 · 0 评论 -
STL之set/map从大到小排序规则&插入自定义类型
众所周知,set/map是自动按从小到大排序的,而且排好序和不可再修改,否则会破坏组织结构使用要在排序前,指定它的排序规则①用greater方式个人认为这个比较简单void test(){ set<int,greater<int>>S2; S2.insert(10); S2.insert(100); S2.insert(200);...原创 2020-03-15 19:16:48 · 3451 阅读 · 3 评论 -
STL之各容器使用时机
原创 2020-03-16 21:32:02 · 130 阅读 · 0 评论 -
STL之最终案例 演讲比赛
#include <iostream>#include <map>#include <vector>#include <stack>#include <deque>#include <algorithm>#include <functional>#include <time.h>#i...原创 2020-03-20 20:44:02 · 137 阅读 · 0 评论 -
STL之三大组件初识
1.迭代器:iterator,每个容器都有属于自己的迭代器遍历 (功能可以用指针来理解,普通指针也算一种迭代器)int* p=arr;*(p++); //偷懒写法2.容器:EG:vector,(用来装东西的)每个容器都有自己专属的迭代器快捷的遍历方式1:以vector为例:for(vector<int>:: iterator it = v...原创 2020-03-11 19:31:03 · 118 阅读 · 0 评论 -
STL之输出小技巧
这里主要介绍STL中习得的快捷输出(偷懒少写)的小技巧for循环写迭代器的方式真的超级长①用for_each() 加lambda表达式for_each(v.begin(),v.end(),[ ] (参数) {cout<<要输出的值<<endl;})lambda表达式: 相当于一个匿名函数 [] (参数) {实现语句}②用copy()打印数据copy()的头文...原创 2020-03-21 07:52:29 · 377 阅读 · 0 评论 -
STL之 Tips&易错
①**循环终止条件必须要有 **!=****,否则会出现越界提示,程序崩溃//正确形式for (deque<int>::iterator it = Score.begin(); it != Score.end(); it++)原创 2020-03-12 18:49:04 · 146 阅读 · 0 评论 -
STL之仿函数
这里介绍仿函数,谓词,内建函数对象,适配器的用法仿函数仿函数: 又称函数对象,实际上是重载操作符 () 其中不定义构造和析构函数只有一个参数是一元仿函数,两个就是二元EG:class Func{public: void operator()(int num) { static int count = 0; cout << ...原创 2020-03-21 09:56:11 · 189 阅读 · 0 评论 -
STL之随机访问
迭代器的随机访问:即跳跃式访问判断某一容器的迭代器是否支持可随机访问:以vector为例//思路:先定义一个vector的迭代器,再让这个迭代器+一个非0数vector<int>::iterator it = v.begin();it+=3;**如果编译器不报错,即表示支持随机访问...原创 2020-06-18 08:55:15 · 880 阅读 · 0 评论 -
STL之vector容器使用小技巧
①用swap收缩空间(同时还要用resize重置容器大小)void skill01(){ vector<int> v01; for (double i = 0; i < 1000000; i++) { v01.push_back(i); //**初始化v01** } cout << "容量" <&l...原创 2020-06-18 08:55:34 · 162 阅读 · 0 评论 -
STL之员工分组案例(map与vector容器)
声明:此案例来自B站// 员工分组_map.cpp : 此文件包含 “main” 函数。程序执行将在此处开始并结束。////仅包含姓名,工资两个属性#include <iostream>#include <map>#include <vector>#include <string>#include <time.h>us...原创 2020-03-15 15:29:46 · 335 阅读 · 0 评论 -
【数据结构与算法 C/C++】单链表的实现 (虚拟头结点)
单链表文章目录单链表一、数据结构定义二、特点与说明1. 头指针与头结点三、数据结构与操作1.结构定义2.操作(1) 初始化(2)插入(3)删除四、仓库地址提示:以下是本篇文章正文内容,下面案例可供参考一、数据结构定义单链表是由若干个链表结点构成的, 每个结点除了需要存储自身节点外, 还需要存储后继结点的地址结点定义为typedef struct ListNode{ // 数据元素 int data; // 指针域,指向下一个结点 struct ListNode原创 2022-04-02 20:11:54 · 2898 阅读 · 1 评论 -
【数据结构与算法 C/C++】顺序表实现与动态分配空间
文章目录一、顺序表的特点二、顺序表实现1.数据结构2.数据结构操作实现3.动态扩容一、顺序表的特点随机访问,通过首地址和元素序号就能在时间**O(1)**内找到元素存储密度高,每个结点只能存数据元素 (链表还要在结点存下一个元素地址)逻辑上相邻的元素在 物理上也相邻线性表的元素位序(序号)是从1开始的,数组的序号才是从0开始的二、顺序表实现1.数据结构动态分配实现 代码如下(示例):#define MAXSIZE 50typedef struct Vector{ //原创 2022-04-01 13:41:26 · 1465 阅读 · 0 评论 -
【LeetCode】单链表技巧 (哑结点,快慢指针,交换/删除结点操作)
文章目录一、数据结构定义二、特点与说明三、数据结构与操作1.结构定义2.操作(1) 初始化提示:以下是本篇文章正文内容,下面案例可供参考一、数据结构定义二、特点与说明三、数据结构与操作1.结构定义代码如下(示例):2.操作(1) 初始化代码如下(示例):时间复杂度:$$...原创 2022-04-05 22:56:46 · 1450 阅读 · 0 评论 -
【数据结构与算法 C/C++】树/二叉树计算公式总结
0.变量说明度为 mmm 的结点数 = nmn_mnm;iii : 第 iii 层 或 第 iii 号结点;hhh : 树的高度;ceilceilceil 向上取整, floorfloorfloor 向下取整 ;1. 树的计算公式 (通用)总结点数=n0+n1+n2+...+nm=总分支数+1总结点数 =n_0+n_1+n_2+...+n_m = 总分支数 + 1总结点数=n0+n1+n2+...+nm=总分支数+1 ;总分支数=1∗n1+2∗n2+...+m∗nm总分支数 =原创 2022-04-18 15:41:36 · 9354 阅读 · 0 评论 -
【C++】NULL与nullptr的区别
文章目录一、案例二、NULL与nullptr的区别一、案例先贴代码 (C++)LinkList NextElem(LinkList first,ListData x) { //函数返回单链表 // first中值为x结点的直接后继结点地址, 没有返回NULL LinkList p = first; while (p&& p->data != x) // 找x { p= p->next; } if (!p || !p->next) return原创 2022-03-01 19:41:35 · 1315 阅读 · 0 评论 -
C语言之指针基础一
文章目录前言一、基本概念1.虚拟内存2.什么是指针3.指针的分类二、基本用法1.指针与数组元素2.指针运算3.注意事项总结前言回炉重造~提示:以下是本篇文章正文内容,下面案例可供参考一、基本概念1.虚拟内存先来讲讲什么是虚拟内存虚拟内存是在进程创建的时候操作系统分配给进程的,与物理内存之间存在映射关系同时,操作系统会对虚拟内存分区,对于C语言而言,分区如下:堆 : 动态申请的内存栈:存放局部变量静态全局区:分为初始化过的和未初始化过的代码区:存放程序代码文字常量区:存放常量原创 2021-06-03 09:17:13 · 476 阅读 · 1 评论 -
C++面向对象复习思维导图
原创 2020-06-20 10:11:21 · 806 阅读 · 0 评论 -
C++重载(++)运算符实现时分秒进位
代码来自谭先生 C++程序设计第三版这是前置++的代码 ,如果后置 ,需要在重载运算符函数的形参中加一个int形参 ,可以不给参数名 ,因为这个int只是一个给编译系统的通知#include <iostream>using namespace std;class Time{public: Time() { this->m = 0; this->s = 0; } Time(int m, int s) :m(m), s(s) {} //偷懒写法 ,变量应该有实际意义原创 2020-06-18 08:42:26 · 1172 阅读 · 0 评论