自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 对象与对象关系

所以,关联关系是一种“强关联”的关系;聚合关系用一条带空心菱形箭头的直线表示,如下图表示Point聚合到Circle上,或者说Circle由Point组成 .聚合关系用于表示实体对象之间的关系,表示整体由部分构成的语义;只有指明具体的子类(Circle ,Square),才可以用来定义对象(”IShape”这个类在C++中用抽象类表示,在JAVA中有接口这个概念,更容易理解) 最终代码中,实现关系表现为公有继承抽象类。与关联关系不同的是,它是一种临时性的关系,通常在运行期间产生,并且。

2024-04-02 17:12:19 412

原创 除自身以外数组的乘积

我们将整个数组从i处分开成两部分,设置两个数组,一个负责i左边所有数的乘积和,一个负责i右边所有数的乘积和,最后将这两部分数组的第i个元素相乘,结果放入answer[ i ]中即可。对answer[ i ]的值,是由arr[0] ~ arr[i-1] ~ arr[i+1] ~ arr[length -1]相乘的结果。之中任意元素的全部前缀元素和后缀的乘积都在。之外其余各元素的乘积。时间复杂度O(n)。

2024-03-30 16:21:55 431

原创 删除有序数组中的重复项

在这种情况下我们用fast指针寻找不同的元素,用slow指针指向重复的待覆盖的元素,当fast指针越界时,slow指针指向的数组元素之前全部为未重复项。①当arr[fast] == arr[fast -1] 时,说明这两个元素是重复元素,后一个元素待覆盖,fast指针继续向 后寻找不重复元素。= arr[fast -1] 时,说明这两个元素不是重复元素,后一个元素需要向前移动到重复的元素位置上。,原地删除重复出现的元素,使每个元素。然后返回arr中唯一元素的个数。根据此原理即可解决本题。

2024-03-22 20:00:00 210

原创 合并两个有序数组

② arr中待放元素>=brr中待放元素 ->将arr待放元素放在合适位置。排列的整数数组arr和brr,另有两个整数a,b分别表示两个数组中有效元素数目,现将两个数组按。分为两种情况 ① arr中待放元素<brr中待放元素 ->将brr待放元素放在合适位置。注意:不创建新的数组,直接将结果存放在arr中,所以arr的初始长度是a+b。1. b == 0 && a >0 (直接输出arr数组即可,后续不在考虑)对两个数组中元素可能数目进行讨论。直接将brr中元素全部按顺序存放到arr中即可。

2024-03-21 20:00:00 351

原创 C++之友元

1.友元函数不是类的成员函数,在函数体中访问对象的成员,必须用对象名加运算符“.”加对象成员。2.友元函数不受类中的访问权限关键字限制,可以把它放在类的公有、私有、保护部分,但结果一。友元类的每个成员函数都是另一个类的友元函数,都可访问另一个。1.不具有对称性 :A 是 B 的友元, 并不意味着 B 是A的友元。2.不具有传递性 :A是B的友元, B是C的友元, 但A不是C的友元。但友元函数可以访问类中的所有成员,一般函数只能访问类中的公有成员。友元分为外部函数友元, 成员函数友元,类友元。

2024-03-16 18:00:00 345

原创 C++之运算符重载问题

运算符的重载实际是一种特殊的函数重载,必须定义一个函数,并告诉C++编译器,当遇到该重载的运算符时调用此函数。在类定义中如果没有显式给出赋值运算符重载函数时,并不是不用赋值函数,而是由系统自动调用缺省的赋值函数。运算符的左操作数一定是对象,因为重载的运算符是该对象的成员函数,而右操作数是该函数的参数。1、运算符重载函数的函数名必须为关键字operator加一个合法的运算符。2、当用类的成员函数实现运算符的重载时,运算符重载函数的参数(当为双目运算符时)为一个。还有 # , ## , // , / * */

2024-03-14 18:00:00 316

原创 C++之拷贝构造函数(浅拷贝与深拷贝)

在建立对象时可用同一类的另一个对象来初始化该对象的存储空间,这时所用的构造函数称为拷贝构造函数。因为局部对象在离开建立它的函数时就消亡了,不可能在返回调用函数后继续生存,所以在处理这种情况时,编译系统会在调用函数的表达式中创建一个无名临时对象,该临时对象的生存周期只在函数调用处的表达式中。这样就可以清楚看出,如果我们在调用函数进行拷贝时,选择的是浅拷贝,有可能在析构时出现对同一个空间进行二次甚至多次析构,所以我们在进行拷贝是要注意尽量实现深拷贝。缺省的拷贝构造函数的特点:按位拷贝。

2024-03-12 14:50:47 324

原创 魔方阵(奇数)

2.当前数字放在前一个数字的上一行、后一列。如果已经到顶行或最后列则转到最后一行和第一列,即把线性数组看做环形数组。,其中每个元素值都不相等,且每行、每列以及主、副对角线上各n个元素之和都相等。eg:当 n = 3 时 魔方阵如下 此时 每行和 = 每列和 = 对角线和。3.如果当前位置已有数据,则放在前一个数字的下一行,相同列。1.将数字 1 放在方阵第一行中间。在本文中只讨论 n = 奇数。

2024-03-09 12:31:02 353

原创 Myatoi的简单实现

4.对字符串进行按位读取,判断数字串指针所指向的内容是否为数字,若是则进行取值,若不是则退出循环。1.判空,确保字符串是有内容能进行判断的。2.设置符号位来对字符串的正负进行保存。排除数字前空格的干扰,遇到第一个非数字字符则终止读取。3.排除数字前空格的影响。

2024-03-05 12:38:02 349 1

原创 C++之简单字符串

字符串常量相比数组的存储优点。c语言字符串&c++字符串。字符串常量相比数组的存放。字符串基本使用方式与函数。字符串在结构体的应用。

2023-11-12 21:57:07 42

原创 C++之new和delete

1.new/delete是c++中的运算符 malloc/free是函数 2.malloc申请内存空间时,手动计算大小,new只需要类型名,自动计算大小 3.malloc申请的内存空间不会初始化,new可以初始化 4.malloc返回值为void*,接收时必须强转,new不需要 5.malloc申请内存空间失败时,返回的值是NULL,使用时必须判空 new申请内存空间失败时抛出异常,所以要有捕获异常处理的程序。new使用方式:1.运算符 2.函数 3.定位符。内存泄漏:地址丢失 堆空间耗损完全。

2023-11-11 19:06:35 31

原创 C++之函数模板与名字空间

全局域 函数域 类域 花括号{}括起来的部分称为声明块,最外城的名字空间域称为全局名字空间域,即文件域 引入名字空间域是为了防止程序中的全局试题命与其他程序中的全局试题命,命名冲突。命名空间的作用:解决函数变量名或全局变量名冲突的问题 命名空间里可以包含函数和命名空间 函数不能包含命名空间。c 有三种域 全局域 局部域 块域 ——只在编译的时候这么走 叫作用域 c++四种域 +类域。根据是参推断形参类型 —> 泛型编程。该过程成为模板实参推演。

2023-11-10 11:33:23 36

原创 C++之简单缺省函数与函数重载介绍

缺省参数可以有多个,但所有缺省参数必须放在参数表的右侧,即先定义所有非缺省参数,在定义缺省参数 这是因为在函数调用时,参数自左向右逐个匹配,当实参和形参个数不一致时只有这样才不会产生二义性。缺省参数指在定义时为形参指定缺省值(默认值) 这样在函数调用时,对于缺省参数可以给出实参值,也可以不给出 给出实参值,将实参传递给形参进行调用,如果不给出实参,按缺省值进行调用。缺省参数不一定是常量表达式,可以是任意表达式,甚至可以通过调用函数给出,表达式必须有意义。缺省参数不一定必须是常变量,可以使用任意表达式。

2023-11-04 15:35:58 34

原创 C++之引用与别名

由于不存在空引用,并且引用一旦被初始化为指向一个对象,它就不能被改变为另一个对象的引用,因此引用很安全。对于指针来说,它可以随时指向别的对象,并且可以不被初始化,或为NULL,所以不安全。const指针虽然不能改变指向,但仍然存在空指针,并且有可能产生野指针(即多个指针指向一块内存,free掉一个指针之后,别的指针就成了野指针)。4、引用比指针使用起来形式上更漂亮,使用引用指向的内容时可以之间用引用变量名,而不像指针一样要使用*;引用必须初始化 没有空引用 没有引用的引用,即没有二级引用。

2023-10-28 18:07:23 53

原创 C++与const的结合

c语言中const以变量为主 即上面定义中const定义的值不能改变 在下面数组的定义中 n仍为变量,并不能成功定义。p3 指针变量自身为常性 p4 指向(解引用)和指针变量本身都为常性。同类型指针的兼容程度和规模 能力强的指针赋值给能力收缩的指针。c++中const定义后直接当做宏定义使用,即为常变量。c++中const的使用。c语言中const使用。const与指针相结合。

2023-10-26 17:49:39 23

原创 c++基础之初始化与输入输出问题

c语言 优:输出格式便于控制 缺:输入的scanf函数较难表达,且对每个变量的类型需要加以说明。c++语言 优:输入的方式更为简单方便,且无需表明变量种类 缺:输出的格式较难控制。printf输出在格式上优于cout。

2023-09-14 16:13:35 61 1

原创 一维数组的简单介绍

数组是包含给定类型的一组数据,并将这些数据一次存储在连续的内存空间中。每个独立的数据被称为数组的元素元素的类型可以是任意的1.一维数组的定义数组的定义决定了数组名,元素类型以及元素个数语法:数组名[]元素数量必须是大于0的整数常量表达式。

2023-07-23 19:15:59 378

原创 二分查找,枚举,递归函数简单介绍

1.取中间数,将所找的数与中间数相比较,比中间数小则在左边数列选取中间数再次比较,如果比第一次选取的中间数打,则在右边的数列中选取中间数再次比较。对连续且有序的数列,可以采用二分查找的方式,可以将时间空间复杂度O(logn)缺点:运行速度很慢 效率低 有大量的重复数据 函数调用开销非常大。2.在继续轮回进行第一步,直到查找出待找数所在的位置。枚举只能用于赋值 也不能赋枚举以外的值。即不用全序遍历一遍更快查找到所需数据。2.形参体现问题规模(问题大小)递归特点:逐层深入 依次返回。

2023-07-22 23:07:17 55

原创 函数体简单介绍

函数是 C 语言中的重要组成部分,它可以将程序分解为模块,提高代码的可读性和可维护性。函数由函数头和函数体组成,函数头包括函数名、返回值类型和参数列表,函数体包括函数执行的语句块。函数——功能封装:不允许出现printf打印结果信息,scanf函数返回值类型 char int float void ……函数名 见名知意(GetSum(驼峰法), isdigit ……)结果返回给调用处(void没有返回值类型),要用相同数据类型来接受函数名(形式参数列表) {函数体//功能实现。

2023-07-21 20:44:09 486 1

原创 分支,循环简单应用(下)

【代码】分支,循环简单应用(下)

2023-07-20 18:00:00 28 1

原创 分支,循环的简单应用(上)

第二种写法(函数封装)

2023-07-19 18:29:20 20

原创 循环语句简单应用

【代码】循环语句简单应用。

2023-07-18 19:56:36 28 1

原创 const和指针的结合

在const与指针的结合中,const也可以修饰指针变量。限制指针变量指向的数据的意思就是指针可以指向不同的变量(指针本身的值可以修改),但不能用指针修改指针指向的数据的值。所以被const修饰的指针变量指针只能在定义时初始化,不能再定义后被赋值。3.既要限制指针变量又限制指针变量指向的数据(双重限定)使得指针变量和指针变量指向的数据的值都不能修改。指针变量本身的值不能被修改,但指向可以改变。const修饰指针变量本身,定义时必须初始化。2.限制指针变量指向的数据。

2023-07-17 10:04:38 50 1

原创 C语言指针初认识

计算机中所有数据都存储在内存当中,不同类型的数据占用的字节数不一样,为了正确的访问到这些存储在内存上的数据,必须为每个字节编上号码,确定标号是唯一的,这样我们就可以根据标号找到相对应的内存。我们将内存中字节的编号称为地址或指针。地址是从0开始依次递增的。对于32位操作系统的环境,程序能使用的内存为4G。最小的地址为0x0000 0000,最大的地址为0xFFFF FFFF低地址 高地址指针的表示:在变量前加*号来表示。

2023-07-16 19:32:56 52 1

原创 分支语句简单应用

简单分支语句应用:成绩分析的if语句和switch语句应用,比大小,闰年判断系统,字符类型判断系统

2023-07-15 23:00:37 39 1

原创 动态内存分配(下)

calloc和realloc

2023-07-14 22:20:02 41 1

原创 循环语句介绍

循环语句简介与跳转语句

2023-07-13 14:19:41 63 1

原创 分支语句简介

分支语句

2023-07-12 18:34:45 43 1

原创 算数运算符,逻辑运算符,位运算符

算数运算符 关系运算符 逻辑运算符 位运算符

2023-07-11 09:24:25 136

原创 C语言中结构体与指针的结合

结构体与指针的简单简单应用

2023-05-16 19:27:57 152 1

原创 C语言之结构体简述

c语言中结构体的简单说明

2023-05-16 19:05:45 58 1

原创 动态内存简单总结(上)

动态内存简答介绍,malloc和free函数的简单说明

2023-05-03 17:12:26 414 1

原创 C语言中的打印(printf)与输入(scanf)函数

打印函数与输入函数

2023-04-11 18:00:00 517 1

原创 C语言中的数据类型

数据类型

2023-04-08 18:00:00 175 1

原创 C语言中进制转换

二进制 八进制 十进制 十六进制的介绍与互相转换

2023-04-05 20:43:36 109 1

空空如也

空空如也

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

TA关注的人

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