Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ 中的string类

end获得的不是最后一个字符的位置,而是最后一个字符的下一个位置!end()-1才是最后一个字符的位置。

2024-11-15 16:06:58 697 3

原创 C++ 内存管理

在C语言中,我们已经了解了三个动态内存管理的函数——malloc,calloc以及realloc,通过动态内存开辟,申请和释放空间更加的灵活在C++中,C语言的内存管理方式可以继续使用,但是在C++中又稍显不足,因此C++提出了自己的内存管理方式:new和delete。下面我们就结合代码来讲解一下new和delete两个通过调试-监测内存可以看到,ptr2里20个数据的确被初始化为0对于自定义类型,也可以通过new和delete来申请和释放空间,同时会自动调用各自的构造函数和自购函数。

2024-11-07 16:31:52 457

原创 C++ 类与对象(中) 默认成员函数

如果将构造函数有初始化的作用,那么析构函数就有清理作用(但不是销毁,只是类比destory)

2024-10-25 14:15:11 996

原创 C++ 类与对象(上)

在C++中,类是一种,类似于C语言中的struct定义结构体。那么什么是对象呢?对象其实是类的类型实例化,就如我声明了一个栈,然后用栈的声明创建了一个栈,被创建的这个栈就是对象。类其实是对象的一种抽象描述,类似于一张施工的图纸,图纸上画了这个工程有什么东西,但是这张图纸上的内容在真实世界中并没有真实的东西,需要现实的人们根据图纸在现实世界创造出图纸里面的内容。对于类的定义,以class为关键字,后面加,{}中的内容为主体,与C语言结构体一样,{}后面要加分号(;

2024-10-20 20:14:58 697

原创 C++ 初识

假如在一个程序中,头文件和cpp文件是分离的,那么缺省参数只能在函数声明中。

2024-10-18 17:02:59 508

原创 九种排序,一次满足

在这里我们可以设置两个循环来实现:外循环控制当前要排序的元素下标,内循环控制当前下标要比较的次数五个元素,下标为0-4,当下标为1的元素进行排序时,需要和后面的元素比较三次。

2024-10-18 15:58:29 1240 1

原创 数据结构-二叉树_堆

堆的底层结构是数组,和顺序表很相似,其实在定义结构体中也是十分相似的//堆的定义//堆的底层为数组//指向动态开辟内存的地址int size;//堆的有效数据个数//堆的最大容量}HP;

2024-10-10 19:24:03 1326 2

原创 数据结构——栈与队列的实现(全码)

栈是一种特殊的线性表,栈内数据遵循先进后出(LIFO)的原则,对于栈,只能在入栈操作和出栈操作是在栈的同一侧进行的,如图示:对于栈这种数据类型,我们可以采用链表或者数组来实现,但是我们一般。

2024-10-07 17:33:28 809

原创 数据结构——顺序表的实现

直到顺序表第一位无数据时将待插数据插入,然后更新顺序表有效个数。

2024-10-04 11:19:46 638

原创 N皇后问题

因为我们是从行来摆放的,如果行数当前的列数不能摆放皇后,已经通过a[row]来移除皇后,在后面的列数重新寻找符合摆放皇后的列,因此在check函数中,我们不需要考虑判断行的摆放。所谓N皇后问题,就是在一个N*N棋盘上放置N个皇后,每一个皇后所在的行,列以及它的对角线都只能有其自身,我们需要统计N个皇后时满足皇后布置的情况。当我们摆放到最后一行(也就是棋盘的边界)时,证明当前的N皇后情况摆放完毕,那么统计皇后的摆放的计时器cnt++如果此时还不是边界,也就是1-n行的位置,那么我们每一次摆放皇后的时候,

2024-09-24 16:35:14 328

原创 代码的编译和链接

预处理完成后,

2024-09-21 14:36:39 567

原创 通过代码解释与实现文件的操作

而根据数据的组织形式,数据文件也分为文本文件和二进制文件。所谓二进制文件,就是内存中的数据不通过任何形式的转换直接输出到外存的文件中,那么这就是二进制文件,对于二进制文件,我们人是无法读懂的,只有在输出到外存时通过ASCII码的形式存储方可读懂。

2024-09-19 20:51:26 916

原创 由我们自己定义的类型——结构体

为什么基本上只能使用一次呢,我们可以这样理解,匿名结构体是重命名结构体的蓝图,你将数据放入 匿名结构体,就破坏了原本的蓝图,那么这个蓝图就失去了蓝图的权威性,没人认可它,你就算后续再往里面存放数据,数据也不想进入这个结构体。根据在内存中成员变量的内存分配,结构体在内存中是存在内存浪费的,因此我们设计结构体时要既要满足对齐,又要节省空间。上面的代码创建了一个名为A的结构体,并对结构体成员变量进行赋值,这种操作称作初始化。下面的结构体没有进行结构体类型重命名,这种结构体称作匿名结构体,基本上只能使用一次。

2024-09-14 20:10:07 766

原创 浮点数在内存中的存储——C语言

在数据类型中,浮点数也是很常见的,而对于浮点数的类型也多种多样:有double、float、long double类型。

2024-09-11 17:15:48 745

原创 大小端字节序和字节序判断

了解数据在内存中的存储

2024-09-06 15:11:53 184

原创 qsort的模拟实现

对于qsort,返回的类型是void类型,传递的形参有四个,分别是待排序数组的第一个对象首元素的地址;在交换函数中,我们不确定待排序的数组是什么类型,所以我们直接通过字节来交换,因为数组中元素类型一致,通过强制转换成char类型再解引用进行字节的交换。在比较函数中,无论是整型还是字符型元素,在计算机中都是以ASCII码的形式进行存储与计算,那么比较函数的返回值类型应该是int 类型。模拟实现中的比较函数与库函数中的交换函数一致,只需要注意此时排序的是什么类型的数组。最后是最主要的逻辑:冒泡排序。

2024-09-05 20:19:52 443

原创 字符串函数(2)

相对与strcat函数,strncat可以控制拼接的字符个数。我们先来看一下库函数中strncat的使用,将arr2中的两个字符拼接到arr1中:对于模拟实现中,我们需要让指针遍历arr1直到找到arr1中'\0'往前一位的位置,随后将arr2进行拼接,通过for循环中的条件表达式进行控制拼接的个数size。程序运行的结果与使用库函数一致,模拟实现成功。

2024-09-05 15:08:29 256

原创 字符串函数

strlen用来计算字符串的长度,从给定起始位置到'\0'。函数的返回值是size_t,是无符号的。传递给strlen函数的形参是字符串的首元素地址。对于库函数strlen,使用方法如下:我们可以看到,strlen计算得到arr字符型数组的长度为6,可知strlen计算的结果不包括'\0'。方法1,通过指针变量字符数组,指针每遍历一个字符,计数器自加,最后返回计数器的值就是字符数组的长度。

2024-09-04 19:51:36 887

原创 C语言---指针

C语言中指针的理解与应用

2024-09-02 13:19:15 755

原创 C语言——简单扫雷小游戏(末尾有全码)

在下面方格中,有若干个雷随机分布在格子中,当玩家选择任意一个格子时,若格子不是“雷”,则会显示以此格子为中心,显示附近八个格子的“雷”的数量。如果玩家选择的区域是“雷”则游戏结束下面让我们用C语言一步步实现这个游戏。

2024-08-03 21:51:49 1146

原创 循环语句(C语言)

do....while循环与while循环相似,区别是 do....while语句要多执行一次语句。循环语句有三种,分别是for循环,while循环,do....while循环。continue语句的作用是跳过本次循环,执行下一次循环。break语句的作用是终止循环,执行循环之外的语句。break语句与continue语句在循环的运用。只有表达式判断非0时才进入while循环。do.....while循环。代码实现:检测整数是几位数。

2024-07-21 13:09:04 186 1

原创 分支语句(C语言)

分支结构可用if语句与switch语句实现。

2024-07-21 11:16:49 294

原创 二叉树的基本操作

【代码】二叉树的基本操作。

2024-05-16 20:27:17 124

原创 《Web前端》超链接

-超链接的路径分为 绝对路径 和 相对路径 和 根路径-->

2024-05-06 16:21:04 351

原创 栈的定义和运算(数据结构)

2.先进栈3,2,1,出栈2次,进栈4,5,6,7,再全部出栈,输出每次入栈,出栈序列。1.依次进栈数据为1,2,3,4,5,再全部出栈,输出出栈序列。依次进栈数据为1,2,3,4,5,再全部出栈\n"栈的定义(栈顶指针,栈顶指针,栈的最大容量)进栈4,5,6,7,再全部出栈\n"入栈成功,入栈顺序:%d\n"进栈3,2,1,出栈2次\n"入栈成功,入栈顺序:%d\n"进栈4,5,6,7,再全部出栈。入栈成功,入栈顺序:%d\n"进栈3,2,1,出栈2次。出栈顺序:%d\n"出栈顺序:%d\n"

2024-05-05 13:10:37 426

原创 链表的定义和运算(数据结构)实验

2.从键盘上依次输入21、18、30、75、42、56,逆序创建单链表(前插法),并输出单链表中的各元素值。3.分别在单链表的第3个位置和第9个位置插入67和10,给出插入成功或失败的信息,并输出单链表中的各元素值。4.删除单链表中的第6个数据元素和第8个数据元素,给出删除成功或失败的信息,并输出单链表中的各元素值。插入成功,此时链表元素为:"插入成功,此时链表元素为:"插入失败,此时链表元素为:"删除成功,此时链表元素为:"删除成功,此时链表元素为:"插入失败,此时链表元素为:"请输入插入元素的位置:"

2024-05-05 13:09:14 611 1

空空如也

空空如也

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

TA关注的人

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