自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux写代码环境和工具

Linux作为一个自由和开放源码的操作系统,其环境具有高度的灵活性和可定制性。无论是在服务器、桌面应用、嵌入式系统还是云计算等领域,Linux都凭借其出色的性能和稳定性赢得了广泛的认可。本文将深入探讨Linux环境的构建、配置以及其对应用程序和系统性能的影响。一、Linux开发需要什么?1. 学习yum工具,进行软件安装2. 掌握vim编辑器使用,学会vim的简单配置3. 掌握gcc/g++编译器的使用,并了解其过程,原理4. 掌握简单gdb使用于调试。

2024-06-16 18:45:06 977

原创 liunx常见指令

Linux,通常被称为GNU/Linux,是一种免费使用和自由传播的类Unix操作系统。以下是关于Linux的详细介绍: 起源与发展: Linux内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布。主要受到Minix和Unix思想的启发,是一个基于POSIX的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。特点: 开放性: Linux是开源的,用户可以自由获取、使用和修改源代码。

2024-06-15 20:08:31 997

原创 C++多态

多态是面向对象编程的三大特性之一,与封装、继承共同构成了面向对象编程的基石。多态的概念可以这样定义:指允许不同子类型的对象对同一消息做出不同的响应。简单的说,就是用同样的对象引用调用同样的方法但是做了不同的事情。多态性分为参数的多态性和方法的多态性。多态的利用价值主要体现在以下几个方面:代码可重用性:多态允许将父类对象设置成为和一个或更多的他的子类对象相等的技术,赋值之后,父类对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。

2024-06-04 13:40:14 910

原创 C++继承

继承在C++编程中有很多利用价值代码重用:通过继承,派生类可以重用基类的代码,而无需重新编写。这不仅可以节省开发时间,还可以减少错误并提高代码质量。扩展性:继承允许我们创建新的类,这些类在继承基类特性的同时,还可以添加自己的特性。这使得代码更加模块化,并易于维护和扩展。多态性:与继承相关的一个重要概念是多态性(Polymorphism)。通过虚函数(virtual functions)和派生类对基类虚函数的覆盖(Override),我们可以在运行时确定应该调用哪个版本的函数,从而实现多态行为。

2024-06-03 02:30:00 1398

原创 c++模板

模板在C++编程中有很多 利用价值 : 代码重用: 通过模板,我们可以编写与类型无关的代码,从而减少了代码冗余。同一个模板可以用于多种类型,而不需要为每种类型都编写一份代码。类型安全: 模板在编译时进行类型检查,从而提高了代码的类型安全性。在函数模板中,我们可以确保所有参数都具有相同的类型;在类模板中,我们可以确保所有成员变量和成员函数都使用相同的类型。性能优化: 由于模板在编译时生成具体的代码(而不是在运行时),因此可以避免一些运行时开销。此外,由于模板代码与类型紧密相关,编译器可以更容易地进行优化。

2024-06-02 18:57:13 882

原创 优先队列——大小堆—— priority_queue

在我们学习二叉树时接触过大小堆;大堆:在一颗完全二叉树中,大数在堆顶,小数在下方;小堆:乃相反,在完全二叉树中,最小的数在堆顶,大数在下方;提示:以下是本篇文章正文内容,下面案例可供参考会用priority_queue的各个函数和理解堆掌握仿函数的调用和函数的重载。

2024-05-11 13:14:34 1074 1

原创 c++详解栈和队列——及模拟实现stack——queue——例题

我们本次栈和队列的模拟实现不在想c语言中一样从底层出发,而是运用适配器,将运用我们已经学习过的类和对象、模板、vector和list等来模拟实现。适配器的解释:电脑的适配器是将220V的电压转化为电脑所能承受的电压,而在c++中的适配器是将我们现学习过的知识通过整理为一个新的类;在C++中,适配器可以用来使不兼容的接口协同工作。适配器是一个类,它将一个现有的类的接口转换成另一个类的接口。

2024-04-29 12:52:40 523

原创 c++模拟实现list——详讲双链表--链表

1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。2. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向 其前一个元素和后一个元素。3. list与forward_list非常相似:最主要的不同在于forward_list是单链表,只能朝前迭代,已让其更简单高 效。4. 与其他的序列式容器相比(array,vector,deque),list通常在任意位置进行插入、移除元素的执行效率 更好。

2024-04-22 11:02:24 953 1

原创 vector的使用和底层模拟实现

我们已经 学习了string在来实现vector会发现他们两的结构很像,而string只支持存储字符串,vector支持任意类型;一、vector是什么?vector和string都一样,是c++的容器,两个的差别在于vector存储的是任意类型,string是字符串。底层结构也有所不同,string数据结构和数组相似,而vector使用3个指针控制的。

2024-04-09 00:00:00 429

原创 c++-----string类及模拟实现———字符串

C语言中,字符串是以'\0'结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数, 但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可 能还会越界访问。一、string是什么?1. string是表示字符串的字符串类2. 该类的接口与常规容器的接口基本相同,再添加了一些专门用来操作string的常规操作。3. string在底层实际是:basic_string模板类的别名,typedef basic_string string;

2024-04-04 19:55:45 668 1

原创 c++动态内存管理

int main()// new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间还会调用构造函数和析构函数free(p1);delete p2;// 内置类型是几乎是一样的// Cfree(p3);delete p4;free(p5);return 0;

2024-04-01 00:00:00 1038

原创 c++类和对象———拷贝构造和赋值运算符重载

提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2024-03-30 14:58:08 606

原创 c++类和对象————构造函数和析构函数

c++可以从事于1. 操作系统以及大型系统软件开发 2. 服务器端开发 3. 游戏开发4. 嵌入式和物联网领域5. 数字图像处理5. 数字图像处理7. 分布式应用 等岗位C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的 程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机 界提出了OOP(object oriented programming:面向对象)思想,支持面向对象的程序设计语言 应运而生。

2024-03-27 20:47:24 924 1

原创 排序算法——选择排序、堆排序、冒泡排序

选择排序是将数组范围慢慢减小,减小的位置是排好的;堆排序是建立一个堆,然后进来一个数排一个;冒泡有着较好的教育意义,每一趟找到最大的数向后放;快排速度和性能非常好;

2024-03-06 17:44:29 605 1

原创 排序算法———插入排序和希尔排序图文超详细

排序再筛选的时候运用的非常广泛;一、排序是什么?所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2024-03-03 23:17:25 354

原创 c语言动态内存管理

在我们日常写代码的时候我们是否思考过,我们向内存申请的空间存的数组,数字,字符串存在了那里,当我们空间不够了又应该怎么办呢?空间大了又不是又浪费了吗?一、为什么需要动态内存呢?在我们没有学习本章内容的时候我们开辟一块空间是如下操作int main()return 0;但是上述的开辟空间的方式有两个特点: 1. 空间开辟大小是固定的。2. 数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。但是对于空间的需求,不仅仅是上述的情况。

2024-02-28 12:24:50 760 1

原创 二叉树--讲解

这就是我们现实中的树二叉树是一种树,树有树根,树叶,分支;树是也是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因 为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。重点在于遍历;前序:根、左子树、右子树中序;左子树、根、右子树后续:左子树、右子树、根。

2024-02-28 09:26:22 841 1

原创 栈和队列的详讲

在我们已经学习的数据结构中,我们学了顺序表、链表,接下来,我们将学习栈和队列。一、什么是栈和队列?栈在进入和出这个空间时,是先进后出,也就是说只有一个口,它即要进数据也要出数据,所以先进来的数据在最下面,后进来的数据在最上面,出数据从上出,也就先出。所以我们用顺序表实现更简单。队列先进先出,队列是 有两个开口的,一头进数据,一头出数据,先进的数据先出去。用链表实现。栈进出数据顺序为先进后出,用顺序表方便队列数据的顺序是先进先出,用链表简单。

2024-02-26 09:50:54 705 1

原创 双链表————详讲

上一篇文章,我们简单了解了顺序表和单链表;单链表在插入数据时,我们处理前后关系时非常复杂,我们无法通过一个节点找到上一个节点位置,而本篇文章所说的双链表将可以解决这一问题。双链表只是结构复杂,然后我们在查找,插入链接都非常简单,只需要把结构搭建起来就可以了。

2024-02-09 21:11:54 1034 1

原创 c语言顺序表+链表

我们在之前的学习过程中,我们接触过数组,数组可以将数据在内存中存储时使之连续,而且还可以通过上下标找到每一个元素。一、什么是顺序表?什么又是链表?这两个都是线性表,在以前我们学习数学时,线性就是函数连续;而再次的线性表也是一样,它意味着,我们数据在存储时,每一个数据之间都有之一定的关系将其连接起来;线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结 构,常见的线性表:顺序表、链表、栈、队列、字符串...

2024-02-07 00:21:35 1090 1

原创 c语言文件操作

在编程c语言过程,我们当运行程序时,程序没有缓存,程序在内存条内运行,不能让程序保存起来。当想调动固态内存时,我们就需要文件管理了。int main()//相对路径,在这个程序内得文件//.是当前目录..是上一级目录//以读的形式打开,文件不存在打开失败return 1;//写文件//写一个字符到文件中//在文件中换行i < 4;i++)//在标准输出;stderr和stdout一样标准输出i < 4;i++)//在标准输出;stderr和stdout一样标准输出//关闭文件。

2024-01-28 19:53:43 606 1

原创 C语言自定义类型+结构体+枚举+位段+联合+对齐数

在我们今后的编程生活中,我们不仅只运用c语言内置的数据类型,我们还有很多类型需要自我编写,结构体就可以帮我们实现这个想法。一、自定义类型是什么?结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。位段的声明和结构是类似的,有两个不同:1.位段的成员必须是 int、unsigned int 或signed int。2.位段的成员名后边有一个冒号和一个数字。在结构体中,我们运用枚举就需要用到枚举的关键字enum;enum Day//星期Mon,Tues,Wed,Thur,

2024-01-26 00:19:02 888 5

原创 c语言 字符串+内存函数的介绍

C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在 常量字符串 中或者 字符数组 中。字符串常量 适用于那些对它不做修改的字符串函数.拷贝num个字符从源字符串到目标空间。如果源字符串的长度小于num,则拷贝完源字符串之后,在目标的后边追加0,直到num个。实现和strcpy一样;int main()//复制函数,将pch复制到str后面6个字符puts(str);return 0;1 strlen计算字符串长的,传递一个字符串参数即可;

2024-01-22 13:16:12 933 5

原创 指针的理解及面试题

5. a为首元素地址,a+1为第二个元素地址,一个地址的大小为4/8个字节(地址在大小在不同的大小也有所不同,32位平台上位4个字节,在64位平台上位8个直接)。1 . sizeof(a)是计算数组a站几个字节,a代表首元素地址,sizeof计算的是类型大小,a类型为数组,是数组类型大小为元素类型乘以元素个数。7 .&a为一个地址,a为首元素地址,在取地址为首元素地址的地址,一个地址的大小为4/8;strlen(数组名),计算数组的长的,数组名代表数组的首元素地址,输出为int类型。

2024-01-20 15:13:37 340

原创 c进阶——指针

指针是c语言重点也是c语言难点,下面我将介绍我对指针的理解,希望可以帮助到大家,本人学习过程的代码zhizheng/test.c · MFF的库/指针 - 码云 - 开源中国 (gitee.com)指针大小的计算代码int main()//在64位平台一个指针占8个字节,在32位平台下占4个字节char a = 0;int b = 0;在不同的系统中输出结果不同,此代码证明了一个指针的大小;指针的作用指针是用来储存地址的,显然下面代码输出结果相同。

2024-01-20 00:38:23 978 2

空空如也

空空如也

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

TA关注的人

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