首页
学习
活动
专区
工具
TVP
发布

C/C++爱好者

专栏作者
44
文章
20068
阅读量
11
订阅数
[C++]string的使用
1.string类是basic_string模板类的一个实例,它使用char来实例化basic_string模板类,并用char_traits和allocator作为basic_string的默认参数。
IT编程爱好者
2023-05-11
4260
[C++]string及其模拟实现
string及其模拟实现:: 1.构造函数 //注意: '\0' "\0" ""的区别 string(const char* str = "") { //对空指针不能strlen _size = strlen(str); _capacity = _size; _str = new char[_capacity + 1]; strcpy(_str, str); } 2.拷贝构造函数 传统写法: //拷贝构造传统写法 //s2(s1) string(const string& s) { _
IT编程爱好者
2023-05-11
2420
[C++]模板初阶与STL简介
1.重载的函数仅仅是类型不同,代码复用率比较低,只要有新类型出现时,就需要用户自己增加对应的函数
IT编程爱好者
2023-04-30
3690
[C++]内存管理
2.内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存,做进程间通信。
IT编程爱好者
2023-04-30
8350
[C++]类与对象下篇
虽然上述构造函数调用之后,对象中已经有了一个初始值,但是不能将其称为对象中成员变量的初始化,构造函数体中的语句只能将其称为赋初始值,而不能称作初始化,因为初始化只能初始一次,而构造函数体内可以多次赋值。
IT编程爱好者
2023-04-24
4080
[C++]日期类计算器的模拟实现
彼此分享给大家的目的一样,希望所有正在学技术被技术所困的友友们,在艰难的时候看到这句话能披荆斩棘,勇往直前!
IT编程爱好者
2023-04-12
5920
[C++]类与对象中篇
类与对象中篇:: 1.类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。空类真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成6个默认成员函数。 默认成员函数: 用户没有显示
IT编程爱好者
2023-04-12
4920
[C++]类与对象上篇
C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。
IT编程爱好者
2023-04-12
3580
[C++]C++基础知识概述
  C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适,为了解决软件危机,20世纪80年代,计算机界提出了OOP(object oriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。
IT编程爱好者
2023-04-12
9370
[数据结构]外排序、基数排序与计数排序
---- 常见的排序算法:: 1.外排序 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<assert.h> //外排序 //思想:大文件平均分割成N份 保证每份的大小可以加载到内存 那么就可以把每个小文件先加载到内存中使用快排排成有序 再写回小文件 那么这时就达到了文件中归并的先行条件 void _MergeFile(const char* file1, const char* file2, const char* mfi
IT编程爱好者
2023-04-12
1750
[数据结构]排序算法
排序:所谓排序,就是一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。
IT编程爱好者
2023-04-12
3100
[数据结构]二叉树OJ(leetcode)
---- 二叉树OJ(leetcode)训练习题:: 1.单值二叉树 📷 //单值二叉树 //思路:相等的传递性 struct TreeNode { int val; struct TreeNode* left; struct TreeNode* right; }; bool isUnivalTree(struct TreeNode* root) { if (root == NULL) return true; if (root->left && root->val != root->lef
IT编程爱好者
2023-04-12
2070
[数据结构]二叉树的链式存储结构
二叉搜索树: 若它的左子树不为空,则左子树上的所有节点的值均小于它的根节点的值,若它的右子树不空, 则右子树上所有节点的值均大于它的根节点的值,它的左右子树也分别为二叉排序树,二叉搜索树 作为一种经典的数据结构,它既有链表的快速插入与删除操作的特点又有数组快速查找的优势,所以应用十分广泛,例如在文件系统和数据库系统一般会采用这种数据结构进行高效率的排序与检索操作,因此,二叉搜索树的增删查改才有意义,普通二叉树的增删查改价值不大。
IT编程爱好者
2023-04-12
3150
[数据结构]二叉树的顺序存储结构
普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结 构存储。现实中我们通常把堆 ( 一种二叉树 ) 使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统 虚拟进程地址空间中的堆是两回事,一个是数据结构,一个是操作系统中管理内存的一块区域分段。
IT编程爱好者
2023-04-12
3400
[数据结构]二叉树概念
树是一种非线性的数据结构,它是由n(n>=0)个有限节点组成一个具有有限关系的集合。把它叫做树,是因为它看起来像一颗倒挂的树,也就是它是根朝上,而叶朝下的。
IT编程爱好者
2023-04-12
2320
【数据结构】栈和队列
栈的概念及结构: 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作,进行数据插入和删除的一端。 称为栈顶,另一端称为栈底,栈中的数据元素遵守先进后出LIFO(Last in First Out)的原则。 压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。 出栈:栈的删除操作叫做出栈,出数据也在栈顶。
IT编程爱好者
2023-04-12
1550
【数据结构】双向链表
顺序表的优点: 1.尾插尾删的效率很高 2.可以用下标随机访问 3.相比链表结构 CPU高速缓存命中率更高 顺序表的缺点: 1.头部和中部插入效率低——O(N) 2.扩容时的性能消耗+扩容时的空间浪费 链表的优点: 1.任意位置插入删除效率很高——O(1) 2.按需申请释放 链表的缺点: 1.不支持随机访问 注:三级缓存被称为CPU周围的禁卫军 CPU执行指令不会直接访问内存  1.先看数据在不在三级缓存,在(命中),直接访问 2.不在(不命中),先加载到缓存,再访问 注:加载到缓存时,会将需要加载的位置开始的一段都加载进缓存,(加载多少取决于硬件) 由于顺序表的数据彼此之间的地址紧密联系 所以加载到高速缓存时命中率高 但链表不然 更可能会导致缓存污染 
IT编程爱好者
2023-04-12
2030
[数据结构]链表OJ(leetcode)
---- 数据结构之链表OJ:: 1.移除链表元素 📷 删除链表中等于给定值val的所有结点 struct ListNode { int val; struct ListNode* next; }; 方法一 struct ListNode* removeElements(struct ListNode* head, int val) { struct ListNode* cur = head, * prev = NULL; while (cur != NULL) { //1.头删 //2
IT编程爱好者
2023-04-12
3220
【数据结构】链表
概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.
IT编程爱好者
2023-04-12
2790
【数据结构】顺序表
线性表是n个具有相同特性的数据元素的有限序列,线性表是一种在实际中广泛使用的数据结构. 常见的线性表有:顺序表 链表 栈 队列 字符串... 线性表在逻辑上是线性结构,也就是连续的一条直线,但是在物理结构上并不一定是连续的. 线性表在物理上存储时,通常以数组和链式结构的形式存储. 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储,在数组上完成数据的增删查改. 顺序表一般可以分为: 静态顺序表:使用定长数组存储元素. 
IT编程爱好者
2023-04-12
4810
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档