自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 类和对象(中)

类和对象(中)本节内容类的6个默认成员函数构造函数析构函数拷贝构造函数赋值操作符重载默认拷贝构造函数与赋值运算符重载的问题const成员函数取地址及const取地址操作符重载...

2020-04-30 15:05:19 300

原创 C++11基于范围的for循环

C++11中的新特性—基于范围的for循环C++ 11提供了一个特殊版本的 for 循环,在很多情况下,它都可以简化数组的处理,这就是基于范围的 for 循环。在使用基于范围的 for 循环处理数组时,该循环可以自动为数组中的每个元素迭代一次。例如,如果对一个 10 元素的数组使用基于范围的 for 循环,则该循环将迭代 10 次。因为基于范围的 for 循环可以自动知道数组中元素的个数,所...

2020-04-28 19:02:29 1194

原创 数组中重复的数字

数组中重复的数字题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。解题思路:思路一:解决这个问题的一个简单的方法就是先对输入的数组进行排序,从排好序的数组中找...

2020-04-27 17:06:06 624

原创 二叉树的基本操作

二叉树的基本操作BinTree.h#pragma once #include<stdio.h>#include<stdlib.h>#include<assert.h>typedef int BTDataType;typedef struct BinTreeNode{ struct BinTreeNode* left; struct Bi...

2020-04-27 14:47:39 347

原创 类和对象(上)

类与对象(上)本节内容类与对象的初步认知类的引入类的定义类的作用域类的实例化类的访问限定符及封装类的对象大小的计算类成员函数的this指针类与对象的初步认知...

2020-04-21 19:12:37 624

原创 #define和const的区别

#define和const的区别用#define MAX 255定义的常量是没有类型的,所给出的是一个立即数,编译器只是把所定义的常量值与所定义的常量的名字联系起来,define所定义的宏变量在预处理的时候进行替换,在程序中使用到该常量的地方都要进行拷贝替换;用const float MAX = 255; 定义的常量有类型名字,存放在内存的静态区域中,在程序运行过程中const变量只有一个拷...

2020-04-20 22:02:56 516

原创 函数重载

函数重载自然语言中,一个词可以有多重含义,人们可以通过上下文来判断该词真实的含义,即该词被重载了。比如:以前有一个笑话,国有两个体育项目大家根本不用看,也不用担心。一个是乒乓球,一个是男足。前者是“谁也赢不了!”,后者是“谁也赢不了!”函数重载概念函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数或类型或顺序)必须不同,...

2020-04-19 22:18:46 452

原创 思维模式

1.一个公交站在1分钟内有车经过概率是p,问3分钟内有车经过概率将3分钟分成三段即可,每段一分钟。(因为单位时间内有车经过的概率都是相同的,这是本题的基本依据)每段有车经过的概率都是p,故每段(每分钟)没有车经过的概率为1-p。所以三分钟(三段)内没有车经过的概率为1-(1-p)^3。2....

2020-04-19 20:31:39 321

原创 队列的实现

队列队列是一种特殊的线性结构,在其一段进行数据的插入操作,这一端称为对尾,在另外一段,进行数据的删除操作,这一端称为对头。特性队列具有先进先出(FIFO),后进后出的特性(LILO)要存储元素的话,底层就必须要有空间,那么现有的两种存储元素的空间分别为顺序的和链式的,那么就需要选择一种结构去表示队列的存储。如果采用顺序结构的话,那么就会给出一段连续的空间,最开始,队列中是没有元素的,所以...

2020-04-19 12:57:58 233

原创 C和C++的区别

C和C++的区别可以先从大方向上说一下C和C++的区别比如说,首先,C语言是面向过程的语言,C++是面向对象的语言;那么,什么又是面向过程和面向对象呢?面向过程的语言:比如说,要去做一件事情,那么我就需要知道这件事情要怎么做,第一步应该做什么,第二步应该做什么,当我将这些步骤都一一罗列出来之后,我就会按部就班的一步一步去执行,当我将这些步骤全部都执行完成了之后,那么我的这件事情也就完成了,那...

2020-04-17 20:10:58 579

原创 栈的实现

栈和队列特殊的顺序表:栈和队列栈栈是特殊的线性表,只能在其一端进行数据插入(栈顶),另一端称为栈底。栈的特性:先进后出(FILO),后进先出(LIFO)栈的例子:手枪放子弹的顺序,第一个放进去的子弹,最后一个被打出来,所以符合先进后出的特性。有关栈的操作Stack.h#pragma once#include<stdio.h>#include<std...

2020-04-17 15:29:41 225

原创 Linux进程概念

Linux进程概念本节重点:认识冯诺依曼系统操作系统概念与定位深入理解进程概念,了解PCB学习进程状态,学会创建进程,掌握僵尸进程和孤儿进程及其形成原因和危害了解进程调度,Linux进程优先级,理解进程竞争性与独立性,理解并行与并发理解环境变量,熟悉常见环境变量及相关指令, getenv/setenv函数理解C内存空间分配规律,了解进程内存映像和应用程序区别, 认识地址空间。选...

2020-04-14 14:29:13 442

原创 Linux常用工具

Linux常用工具本节内容了解yum工具,进行软件安装vim编辑器适用,学会vim简单配置gcc/g++编译器,了解过程,原理掌握简单gdb适用于调试掌握简单的makefile编写,了解其运行思想编写第一个Linux程序–进度条了解git命令行的简单操作,传入github工具分类软件包管理工具—yum个人编辑工具—vim(编辑器),gcc/g++(编译器),gdb(调试...

2020-04-09 12:40:12 606

原创 Strcpy和Strncpy

Strcpy和Strncpystrcpy函数原型char *strcpy( char *strDestination, const char *strSource );#include<stdio.h>#include<string.h>int main(){ char arr1[20] = { 0 }; char arr2[] = { 'a','b','...

2020-04-08 09:50:32 147

原创 移除链表元素

移除链表元素例题:/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */typedef struct ListNode Node;struct ListNode* removeElements(struc...

2020-04-07 16:22:21 228

原创 反转单链表(链表逆置)三种思路

链表逆置思路一:例题

2020-04-07 15:52:30 1952

原创 带头结点双向循环链表的实现

DList.h//带头节点的双向循环链表//为什么要带头//原因是因为如果不带头的话,那么头插或者头删会比较麻烦//而且不带头的话需要传递二级指针,带头的话,只需要传递一级指针//为什么给成双向的?//(有一个理由是可以逆向打印链表)//也就是对有些操作会简单一些#pragma once // 保证头文件不会被重复包含#include<stdlib.h>#...

2020-04-07 13:14:05 941 1

原创 Strlen函数

strlen函数的函数原型size_t strlen( const char *string );由strlen函数的原型可以看出,strlen函数的返回值类型为size_t类型strlen函数的调用#include<stdio.h>#include<string.h>int main(){ char arr1[] = "abcdef"; char ...

2020-04-07 10:14:36 3843

原创 从尾到头打印单链表(四种思路)

思路一:这个算法的时间复杂度为O(N^2),空间复杂度为O(1)思路二:这个算法的时间复杂度为O(N),空间复杂度为O(N)思路三:递归如果想用递归来求解问题,首先要看这个问题能否利用递归来求解,也就是说看这个问题能否转换成它的子问题来求解,并且子问题要和原问题具有相同的解法,同时递归问题必须要有递归的出口...

2020-04-05 17:11:59 1408

原创 冒泡排序

冒泡排序冒泡排序的概念它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列)冒泡排序的过程比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元...

2020-04-05 14:54:36 157

原创 Linux初识

Linux初识Linux初识本节内容初识Linux操作系统(Linux操作系统:是一个软件,核心功能就是管理计算机上的软硬件资源,就是操控计算机的软件和硬件的—目的:就是为了让计算机更加好用。windows占据了个人pc市场的95%份额,Linux操作系统在企业级服务器市场占80%份额。)初识别shell命令,了解若干背景知识使用常用Linux命令了解Linux权限概念和思想,能深度...

2020-04-03 14:03:41 454

原创 斐波那契

斐波那契问题什么是斐波那契数列斐波那契数列:斐波那契数列,又称黄金分割数列、因数学家列昂纳多·斐波那契,以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)。斐波那契的几种不同形式递归代码#include<...

2020-04-03 09:15:08 2193 1

空空如也

空空如也

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

TA关注的人

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