自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (3)
  • 收藏
  • 关注

原创 循环语句的组成

一般循环语句(while,for,do while)都由以下几部分组成:1、循环条件初始化。2、循环关键字:while,for,do while。3、循环条件判定。4、循环体(循环语句)。5、循环条件更新。

2021-10-24 23:54:42 301

原创 线程越多越好吗?

文章目录1.判断题2.原因1.判断题先来看两道判断题(1)一段空间内线程并发的数量越多,程序效率越高。(错)(2)一段时间内线程越多越好,效率越来越高。(错)2.原因(1)假设现有8个CPU、8个线程,每个线程占用一个CPU,同一时间段内,若8个线程都运行往前跑,相比较5/6/7个线程,8个线程的效率高。(2)但若此时有9个线程,只有8个CPU,9个线程同时运行,则此时牵扯到线程切换,而线程切换是需要消耗时间的。(3)所以随着线程数越多,效率越来越高,但到一个峰值,再增加线程数量时,就会出现

2021-09-24 21:43:09 12182

原创 进程切换和线程切换

1.进程切换当有一个进程a一个进程b,进程a去cpu上运行其代码,这个运行不是无节制的,而是有一个时间片的东西会遏制运行时间,若进程a的时间片到了,则会被切换出来。此时有两个非常重要的东西,程序计数器(保存程序即将要执行的下一条指令的地址),和上下文信息(保存寄存器当中的值即目前执行结果),二者都在task_struct结构体中。进程a被切换出后,若再次占用CPU时,从刚刚执行的代码往下运行。ps:...

2021-09-24 21:28:03 2643

原创 并行与并发

线程可以并行/并发的执行。并行:每一个执行流在同一时间都拥有一个CPU,同时进行运算。并发:多个执行流在同一时刻只能有一个一个执行流拥有CPU进行运算。

2021-09-14 19:49:17 108

原创 循环语句(while,for,do while)

whilefordo while

2021-09-08 00:07:42 165

原创 判断一个数是否为奇数

文章目录1.IsOdd函数奇数:奇数(odd)指不能被2整除的整数1.IsOdd函数(1)int IsOdd(int _Data){ if (_Data % 2 == 1) { return 1; } return 0;}(2){

2021-09-07 23:26:23 2387

原创 Linux线程介绍、线程优缺点、线程异常、进程与线程对比

文章目录1.引入方式1:方式1说明方式2:方式2说明2.线程介绍2.1线程概念2.2从PCB角度看线程1.引入假如有汽车生产公司一个生产线可生产汽车数为5辆/天:现在因为市场需求需要扩大为10辆/天。则有两种生产方式:方式1:方式1说明·缺点:重新选址、建厂的花销大。·优点;两厂不存在竞争关系。·类比:新开工厂相当于重新开辟了一个进程,各是各的资源,各有各的虚拟进程地址空间,因为进程的独立性,不会竞争资源,互不影响。方式2:方式2说明·缺点:假设两生产线是竞争关系,则存在某一时刻

2021-09-06 00:20:36 683 2

原创 【C语言初阶】语句、表达式、代码块

文章目录1.什么是语句?2.什么是表达式?2.什么是代码块?1.什么是语句?语句:C语言中由一个 分号; 隔开的就是一条语句。例如:int a = 10;printf("haha\n");10;'A'; ; //空语句,啥都不执行,在语法层面不会报错2.什么是表达式?表达式:用操作符连起来的式子。例如:1==flagage>=50&&age<80!02.什么是代码块?1.一个{ }就是一个代码块。2.凡是在代码块里定义的变量叫做临时变量,

2021-08-31 15:10:45 1475 1

原创 【初识C语言】结构体

文章目录1.为什么要有结构体2.结构体的定义2.1结构体类型的定义2.2定义结构体普通变量2.3定义结构体指针变量1.为什么要有结构体(1)之前int、char等类型描述的结构体非常单一,只可描述一种类型。(2)数组也是描述同一类型的集合,只可描述一种类型。(3)而结构体使得C语言可以描述复杂类型,比如学生类型( 包含学生的名字、年龄、性别、电话号等信息)。结构体和数组的区别:·结构体:用来描述相同/不同数据元素类型的集合。·数组:用来描述具有相同数据元素类型的集合。2.结构体的定义2.1

2021-08-24 23:46:42 546 10

原创 【初识C语言】指针和指针变量

文章目录1.指针2.指针变量2.1概念2.2指针变量大小2.3指针变量理解2.4举例1.指针指针就是地址(即一个数据)。2.指针变量2.1概念(1)指针变量是变量,是变量在内存中就会开辟空间,会有自己对应的的地址,有自己的变量大小。(2)指针变量里放的内容是地址(即指针)。2.2指针变量大小32位平台下,4字节。48位平台下,8字节。2.3指针变量理解#include <stdio.h>int main(){ int a = 10; int b = 20; i

2021-08-16 10:49:29 473

原创 【初识C语言】变量的属性、变量的左值与右值

文章目录*[在看此块内容前可以先看看内存及地址相关内容,更容易理解。]一个变量是由两个含义:1.变量的空间。2.变量的内容。空间即若干字节,内容即空间里放了什么。#include <stdio.h>int main(){ int a = 10;//定义变量a,开辟4个字节的空间。 a = 20;//把20放到a的空间里,用的是a的空间。 int b = a;//把a的内容放到b里,用的是a的内容。 return 0;}一般对于一个变量而言在表达式中的位置就决定了其含义

2021-08-15 23:17:24 453

原创 【初识C语言】地址及内存简介

文章目录

2021-08-07 01:17:12 6219 8

原创 【初识C语言】#define 定义宏

1.什么是宏宏只做简单的文本替换,但一般在作为变量名出现或者在字符串中出现中是不会被替换的。2.宏的用法2.1宏2.1“宏函数”

2021-08-05 16:51:00 471

原创 判断是否为素数

素数:曾称质数。一个大于1的正整数,如果除了1和它本身以外,不能被其他正整数整除,就叫素数。如2,3,5,7,11,13,17…。思路:遍历100到200之间的数,在PrimeNumber函数中逐个判断每个数是否为素数。若在区间[2,Num)之间没有数字可以将Num整除,则Num为素数;否则不为素数。#include <stdio.h>void PrimeNumber(int Num){ int i = 2; while (i < Num) { if (Num%i !

2021-07-30 19:25:56 321

原创 判断是否为闰年

(1) 十年一闰百年不闰:即如果year能够被4整除,但是不能被100整除,则year是闰年(2)每四百年再一闰:如果year能够被400整除,则year是闰年

2021-07-30 19:02:14 55050

原创 【初识C语言】关键字static

文章目录1.修饰局部变量-->静态局部变量1.1作用1.2举例在C语言中,static是用来修饰变量和函数:1.修饰局部变量–>静态局部变量2. 修饰全局变量–>静态全局变量3. 修饰函数–>静态函数1.修饰局部变量–>静态局部变量1.1作用ststic修饰局部变量,会改变局部变量的生命周期,不改变作用域:生命周期:和全局变量一样具有全局性,但在内存中的位置没有改变,还在在静态存储区中。作用域:作用域不改变。1.2举例(1)不加static#includ

2021-07-27 00:38:04 271 1

原创 【初识C语言】变量及函数的外部声明

1.变量的定义一个变量在一个代码块内,只能定义一次。ps:变量的定义、初始化与赋值点击链接2.变量的声明变量的声明可以有多次,变量的声明是告诉文件在某个地方有某变量,程序在连接时可以找到。变量外部声明语法extern 变量的类型 变量名一般在声明变量时只需告诉变量的类型和变量名,不需要写上具体值。...

2021-07-26 23:10:31 3674

原创 【初识C语言】关键字typedef

文章目录1.注意2.用法语法结构typedef 是类型重命名关键字。1.注意1.对于一般的内置类型,不建议采用typedef进行重命名,否则对别人来说可读性不高。2.对于一些结构体、枚举、联合等可以进行重命名,提高可读性。2.用法语法结构typedef关键字+原本名称+新名称eg:#include <stdio.h>typedef unsigned long long ull_t;//本类型名称太长,可以重命名为一个简短易懂的名称int main(){ unsigne

2021-07-26 09:06:16 149

原创 【初识C语言】操作符

文章目录1.算术操作符1.1除法运算1.2取模运算2.移位操作符1.算术操作符+ 加- 减* 乘/ 除% 取模1.1除法运算除法运算分母不可为零,否则程序会中断报错,所以要在程序中检验分母是否为零。1.2取模运算取模即取余数。2.移位操作符>> 右移<< 左移3.位操作符& ^ |ww4....

2021-07-25 11:35:31 240

原创 【C++】命名空间

1.作用使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题。(简单来说由于函数重载等问题的出现,出现几个函数的函数名称一样的情况,为了区分这些函数而产生的,解决名字冲突·。)2.命名空间的定义一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。定义命名空间,需要用到namespace关键字,格式如下:namespace 命名空间名字{ //命名空间的成员}在命名空间的使用中有时也会使用

2021-06-20 14:30:31 185

原创 【初识C语言】常量(字面常量、const修饰的常变量、宏常量、枚举常量)、标识符

文章目录常量(4种)1.字面常量2.const修饰的常变量3.#define定义的标识符常量3.1标识符3.2宏常量4.枚举常量常量(4种)常量,即不可被直接修改的量(const修饰的常变量可间接修改,后续博客说明)。1.字面常量(1)字面意思是啥就是啥,看其表示就可以知道其 值和类型。(2)有值无名,一般用来初始化变量,与一种字符相关联。#include <stdio.h>int main(){ 10;//int型数字10 'c';//char型字符c "Hello wo

2021-06-18 12:11:26 606

原创 【数据结构】线性表、顺序表及其优缺点、顺序表扩容、源代码

文章目录1.线性表1.1概念1.2特征2.顺序表2.1概念2.2顺序表优缺点3.静态顺序表3.1概念3.2存储结构3.3源代码(自取)3.4相关函数接口4.动态顺序表4.1概念4.2存储结构4.3关键操作4.3.1初始化4.3.2销毁4.3.3扩容4.4关键点4.5源代码(自取)1.线性表1.1概念线性表(linear list)是n个具有相同特性的数据元素的有限序列。常见的线性表:顺序表、链表、栈、队列、字符串等。1.2特征逻辑上:是线性结构,即连续的一条直线。物理上:并不一定是连续的。p

2021-06-18 12:09:12 1416

原创 【C++】缺省参数

1.概念缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该 默认值,否则使用指``定的实参。eg:void Fun(int a = 0){ cout << a << endl;}int main(){ Fun(); // 未传参时,使用参数的默认值 Func(10); // 传参时,使用指定的实参}2.分类2.1全缺省参数eg:void TestFunc(int a = 10, int b = 20, int

2021-06-18 01:45:56 158

原创 【初识C语言】数组

文章目录数组的定义定义数组1.不进行初始化2.进行初始化3.不给定数组元素个数数组的经典用法1.求数组大小、元素大小、元素个数2.遍历数组的定义数组是一组相同数据元素类型的集合。数组中的数据元素在物理上是放在连续的存储空间里。定义数组1.不进行初始化int a[10];char b[10];!注意(1)数组未初始化,则其内部数据元素的值为随机值。(2)a,b为数组名,10为数组最多元素个数。(3)数组下标从0开始,数组元素访问是用下标形式访问的,即a[10]代表a[0]~a[9]这10

2021-06-13 14:25:04 144

原创 【初识C语言】函数

文章目录函数的作用函数的构成举例函数:是面向过程编程最关键的语法结构。面向过程编程:在C语言中,把大部分的功能以函数呈现,就称之为面向过程编程。每个函数本质上都实现一个最小的功能,而main函数只负责调用函数,实现代码的核心逻辑。函数的作用1.从工程上讲,函数可以让我们的代码更具有结构性,让代码更好看。2.函数可以提升代码的可维护性。即若代码出问题,只需要找到哪个函数出问题,则可基于此函数调试,而其他函数不受影响。函数的构成1.返回值得到并返回函数最后的结果。返回值可以为void(即啥也不

2021-06-13 00:07:09 118 2

原创 Linux操作系统下目录、root用户、Linux基本指令1

文章目录1. pwd2. ls2.1 ls2.2 增加命令行参数ls -a-l-al-lrt1. pwdpwd:查看当前路径。2. ls2.1 ls对于目录(一个路径),罗列该目录下的所有子目录(文件夹)与文件;对于文件,将列出文件名以及其他信息;但不罗列隐藏文件和文件夹。2.2 增加命令行参数命令行参数,其实作为ls的参数,传递给了ls命令。ls -aall 列出目录下的所有文件,包括以 . 开头的隐藏文件。-l列出文件/文件夹的详细信息(但不包含隐藏文件和文件夹),简写:l

2021-05-26 00:03:41 5129 1

原创 XShell的复制粘贴

复制: ctrl + insert粘贴: shift + insert(有些insert 需要配合 fn )XShell 里 ctrl + c / ctrl + v 不可以使用

2021-04-27 22:34:58 313

原创 Linux、Windows查看IP,Linux创建普通用户

文章目录1.Linux、Windows查看本机IP1.1Linux查看本机IP1.2Windows查看本机IP1.2.1Win查看私网IP1.2.2Win查看公网IP2.Linux创建普通用户2.1原因2.1创建普通用户2.1.1创建2.1.2修改密码2.1.2连接1.Linux、Windows查看本机IP1.1Linux查看本机IP连接Linux操作系统,ifconfig 查看网卡信息1.2Windows查看本机IP1.2.1Win查看私网IP私网IP不可直接访问互联网。win+r–&g

2021-04-27 22:16:53 185

原创 Linux环境安装、VM+镜像、云服务器、XShell远程登录 Linux

Linux环境安装1.VM+镜像1.1原理1.2Linux环境安装----VM+镜像 相关软件2.云服务器(强烈推荐)2.1原理2.2腾讯云服务器远程连接Linux操作系统2.2.1购买2.2.2XShell连接云服务器1.VM+镜像1.1原理虚拟机并不是独立运行在Windows操作系统中的,而是相当于在VMware软件,运行了一个Linux操作系统。1.2Linux环境安装----VM+镜像 相关软件2.云服务器(强烈推荐)(我购买的是腾讯云)2.1原理2.2腾讯云服务器远程连接Lin

2021-04-25 13:30:52 223

原创 【C++】函数重载、extern“C“

文章目录1.概念1.1定义1.2函数重载条件2.名字修饰(name Mangling)为什么C++支持函数重载,而C语言不支持函数重载?2.1C语言2.1.1C语言不支持重载2.2.1原因2.2C++2.2.1C++支持重载1.概念1.1定义函数重载是函数的一种特殊情况,C++允许在 同一作用域 中声明几个功能类似的 同名函数 ,这些同名函数的 形参列表(参数个数 或 类型 或 顺序) 必须不同,常用来处理实现功能类似数据类型不同的问题。1.2函数重载条件1.函数名相同。2.形参列表(参数个数

2021-04-01 01:00:30 236

原创 【C++】关键字

C++(98)总计63个关键字,C语言32个关键字。C语言关键字:详细看链接????C语言关键字–百度C++关键字:详细看链接????C++关键字–百度

2021-03-31 01:48:45 73

原创 【C++】什么是C++

1. 什么是C++(1)C语言:是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。(2)为了解决软件危机, 20世纪80年代, 计算机界提出了OOP(object oriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。(3)C++:是基于C语言而产生的,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程序设计。2. C++的发展史

2021-03-31 01:20:09 530 1

原创 【数据结构】(带头结点)单链表

文章目录1. 链表1.1概念1.2优点1.3类型2.带头结点单链表2.1存储结构2.2接口函数2.3关键操作2.3.1初始化2.3.2尾插2.3.3头插2.3.4打印单链表2.3.5单链表的清空2.3.6销毁3.关键点4.源代码(自取)1. 链表1.1概念链表是一种在逻辑上连续,物理存储结构上非连续、非顺序的存储结构。数据元素的逻辑顺序是通过链表中的指针链接次序实现的。1.2优点按需申请和释放空间。1.3类型带/不带头结点单向链表、双向链表、循环链表2.带头结点单链表因为不带头结点的单链表

2021-03-09 23:56:20 553

原创 旋转数组 Rotate Array

文章目录思路一:一个一个挪动思路二:以空间换时间思路三:三段逆置(代码)思路四:开辟新空间 取余(代码)原题链接????旋转数组 Rotate Array思路一:一个一个挪动每次保留最后一个值,将前n-1个往后挪动一步。旋转一次的时间复杂度 O(N)旋转k次的时间复杂度 O(N*k)思路二:以空间换时间开一个N大小的临时数组,后k个拷贝到前k个的位置,前n-k个拷贝到后面。时间复杂度O(N)空间复杂度O(N)思路三:三段逆置(代码)在原数组上进行逆置。时间复杂度O(N)空间复杂度

2021-02-14 12:22:02 125

原创 合并两个有序数组 Merge Sorted Array

原题链接????合并两个有序数组 Merge Sorted Array从后往前比较:若第二组先走完,不用做处理;若第一组先走完,把第二组剩下的移到第一组里。void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){ assert(nums1&&nums2); int i1 = m - 1, i2 = n - 1, i = m + n - 1; while (i1 >= 0

2021-02-14 11:04:47 184

原创 删除排序数组中的重复项 Remove Duplicates from Sorted Array

文章目录思路1:遍历删除思路2:双指针原题链接????删除排序数组中的重复项思路1:遍历删除不推荐int removeDuplicates(int* nums, int numsSize){ int i = 0; for (; i < numsSize - 1;) { if (nums[i] == nums[i + 1])//如果相等,则将后边的数据往前移动 { int j = i + 1; for (; j < numsSize - 1; j++) {

2021-02-04 16:22:42 104

原创 移除元素 Remove Element

文章目录思路1:挪动删除思路2:开空间思路3:倒着往回看(代码)思路4:双指针(代码)原题链接????移除元素Remove Element思路1:挪动删除找到所有与val相等的数据,挪动数据删除。时间复杂度O(N^2)。思路2:开空间额外开N个空间。空间复杂度O(N)。思路3:倒着往回看(代码)倒着往回看。时间复杂度O(N),空间复杂度O(1)。int removeElement(int* nums, int numsSize, int val){ int i = numsSi

2021-02-04 13:49:30 240

原创 【数据结构】数据结构的内容

文章目录1.逻辑结构1.1线性结构1.2非线性结构2.存储结构2.1顺序存储结构概念优点缺点2.2链式存储结构概念优点缺点3.运算结合(一组操作)4.数据结构四类基本结构4.1线性结构4.2树形结构4.3图4.4集合1.逻辑结构1.1线性结构有线性表、栈、队列、字符串、数组、广义表1.2非线性结构有树、图2.存储结构2.1顺序存储结构概念在逻辑上和物理存储空间上都相邻的,一般用数组来实现。优点(1)物理存储空间上相邻,空间利用率高,储存密度大,节省存储空间。(2)随机存取表中元素,查

2021-02-01 11:23:44 654

原创 【数据结构】算法效率、时间复杂度、空间复杂度、大O渐近法

1.算法效率(1)算法效率分为时间效率(时间复杂度)和空间效率(空间复杂度)。(2)现在更看重时间复杂度。因为根据摩尔定律,现在电脑的内存越来越大且越来越便宜,除了嵌入式设备比较关注空间复杂度,其他的会比较关注在时间上的效率。2.时间复杂度概念(1)一个算法所花费的时间与其中语句的执行次数成正比例,算法中的 基本操作 的执行次数,为算法的时间复杂度。(2)时间复杂度是一个函数。(3)采用大O的渐进表示法ps:看执行次数的原因:(1)同一程序在不同机器上的运行时间不同。(2)上机实测麻烦

2021-01-31 23:20:29 967

原创 【数据结构】前言

1.什么是数据结构?数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。简单来说是组织存储管理数据的结构。2.什么是算法?算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说就是一系列的计算步骤,用来将输入数据转化成输出结果。3.数据结构与算法的关系相互依赖、相互依存。...

2021-01-31 20:10:42 108

带头结点单链表.zip

带头结点单链表的实现

2021-03-09

数据结构动态顺序表.zip

自己写的数据结构动态顺序表,编写环境VS2013,有问题dd我!

2021-02-04

数据结构静态顺序表.zip

自己的静态顺序表源代码,在这里给大家分享,有问题可以dd我!项目在VS2013上写滴!

2021-02-03

空空如也

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

TA关注的人

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