自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 八大排序之计数排序

由于用来计数的数组C的长度取决于待排序数组中数据的范围(等于待排序数组的最大值与最小值的差加上1),这使得计数排序对于数据范围很大的数组,需要大量时间和内存。例如:计数排序是用来排序0到100之间的数字的最好的算法,但是它不适合按字母顺序排序人名。通俗地理解,例如有 10 个年龄不同的人,统计出有 8 个人的年龄比 A 小,那 A 的年龄就排在第 9 位,用这个方法可以得到其他每个人的位置,也就排好了序。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。1. 计数排序的特征。

2024-06-22 20:12:42 177

原创 八大排序之希尔排序

希尔排序(Shell Sort)是插入排序的一种,它是针对直接插入排序算法的改进。希尔排序又称缩小增量排序,因 DL.Shell 于 1959 年提出而得名。它通过比较相距一定间隔的元素来进行,各趟比较所用的距离随着算法的进行而减小,直到只比较相邻元素的最后一趟排序为止。

2024-06-16 20:17:38 236 1

原创 八大排序之插入排序

下面是插入排序的动态图把无序元素往有序列表中插入,一次排好一个元素,所以元素个数就决定了趟数,单趟的核心思想是两两比较。

2024-06-16 17:16:44 147

原创 打印ArrayList打印出地址该怎么解决?

无论这三种哪种方式只要是传引用类型而不是传值都是在打印地址,此时我们只要重写toString就行了。编写程序,采用Arraylist存储3只猫的姓名,性别和花色信息,并输出。建立一个Arraylist类型 al 存入3个数据。方式三 iterator。方式一for -in。

2024-06-07 10:01:04 279

原创 c语言贪吃蛇

​贪吃蛇(也叫做贪食蛇)游戏是一款休闲益智类游戏,有PC和手机等多平台版本。既简单又耐玩。该游戏通过控制蛇头方向吃蛋,从而使得蛇变得越来越长。贪吃蛇游戏最初为单机模式,后续又陆续推出团战模式、赏金模式、挑战模式等多种玩法。下面我们用c语言来实现贪吃蛇。首先我们在进行游戏的设置前初始化一些参数。

2024-05-04 14:34:10 345

原创 Win32 API设置控制台相关属性

小黑框也是有坐标的概念,为了我们后续游戏的进行,COORD是windows API中定义的一个结构体,表示一个字符在控制台屏幕缓冲区上的坐标,坐标系(0,0)的原点位于缓冲区的顶部左侧单元格。GetStdHandle是一个Windows API函数,他用于从一个特定的标准设备(标准输入,标准输出错误)中取得一个句柄(用来标识不同设备的数值),使用这个句柄可以操作设备。setlocale 函数用于修改当前地区,第LC_ALL 第二个参数为"C"正常模式和""本地化模式。//切换到本地化,支持宽字符等的输出。

2024-05-03 13:54:48 965

原创 c语言顺序表

顺序表,全名顺序存储结构,是线性表的一种。通过《什么是线性表》一节的学习我们知道,线性表用于存储逻辑关系为“一对一”的数据,顺序表自然也不例外。不仅如此,顺序表对数据的物理存储结构也有要求。顺序表存储数据时,会提前申请一整块足够大小的物理空间,然后将数据依次存储起来,存储时做到数据元素之间不留一丝缝隙。例如,使用顺序表存储集合,数据最终的存储状态如图 1 所示:图 1 顺序存储结构示意图。

2024-04-20 11:54:27 650 1

原创 C语言预处理详解

C语言设置了一些预定义符号,可以直接使用,预定义符号也是在预处理阶段完成的 基本语法: 效果: #define允许把参数替换到文本中,这种实现通常称为宏,或者宏定义下面是宏的申请方式:其中的parment -list是一个由逗号隔开的符号,它们可能出现在stuff中注意:参数列表的左括号必须与name相邻,如果出现空白字符,也会被解析成stuff的一部分举例: #define 实现的是整体替换,如下列代码:不能想当然的认为是把a+1计算成6然后再进行替换结果为36,宏定义的参数中只进行替换容易受到宏之外的

2024-04-05 01:06:18 2074 1

原创 C语言动态内存管理

c语言提供了一个动态内存开辟的函数,下面是cpiusplus中的介绍malloc是一个一个动态内存开辟的函数原型如下:这个函数向内存申请一块连续可用的以字节为单位的空间,并返回指向这块空间的地址。如果开辟成功,则返回一个指向开辟好空间的指针,如果开辟失败,返回NULL指针。开辟后记得判断是否开辟成功,否则不可使用返回值void*,所以malloc函数并不知道开辟空间的类型,具体在使用的时候由使用者自己决定如果参数size_t为0,malloc的行为标准是未定型,取决于编译器。

2024-04-04 16:57:06 541 1

原创 常用字符串函数

源头地址里的内容覆盖掉 目的地地址里的内容,并且返回目的地地址,目的地的大小要足够大才能覆盖完源头地址的字符。看看cplusplus对strcpy的解释。strerror能够打印错误码信息。两个地址内的字符串都得包含\0。

2024-03-14 20:23:15 397 1

原创 c语言实现结构体冒泡排序

【c语言实现冒泡排序 - CSDN App】http://t.csdnimg.cn/5dXjF【c语言使用qsort实现冒泡排序 - CSDN App】http://t.csdnimg.cn/qV3Rg。

2024-03-10 20:19:27 441 1

原创 c语言使用qsort实现冒泡排序

以从小到大排序为例,第一轮比较后,所有数中最大的那个数就会浮到最右边;第二轮比较后,所有数中第二大的那个数就会浮到倒数第二个位置……就这样一轮一轮地比较,最后实现从小到大排序。冒泡排序的原理是:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。可以看看我这个博客【c语言实现冒泡排序 - CSDN App】http://t.csdnimg.cn/5dXjF。让我们来看看cplusplus中对qsort的官方解释。把p1 p2反过来则降序。

2024-03-10 18:36:15 515 1

原创 c语言相关操作符详解

再此之前我们先了解一下数在计算机中存储的规则原码:直接按照正负数的形式翻译成二进制得到的就是原码反码:将原码的符号位保持不变,其他位按位取反得到反码补码:反码+1得到补码注意:正数和负数的原反补规格不相同,正数的反码补码和原码相同,负数的则遵循以上原则,数据在内存中以二进制补码的形式进行计算直观图。

2024-03-08 23:01:03 494

原创 c语言实现冒泡排序

我们假设数组的下标为n,俩俩比较,第0个和第1个比大小,不符升序就交换元素,把更大的放在后面,一次遍历就能排好一个元素的位置,那这样一共要排数组元素个数的次数,为了代码能够通用,索性用sz来接受数组元素个数,待排序有sz个就要进行sz次排序,这就是下面外层for的用途是决定了趟数,每次排序都要比先前少排一个,所以这里的内存层for中n代表剩余其中某一趟中比较次数,n要比sz少一,如果不加这层的话会永远陷入拍第一个元素的死循环当中,其实,我们可以把他们用数组储存起来,然后用遍历的方式依次俩俩比较。

2024-03-08 11:51:16 338 1

原创 怎么用c语言写出猜数字游戏呢

3.在主函数的头上写出游戏内容。1.罗列出要用的函数头文件。4.让我们看看游戏测试。

2023-12-04 00:19:51 48

原创 输入两个数求他们的最大公因数

{if(a%b==0&&c%b==0)//b开始从b自减到0,如果期间有公因数就会被打印,b从最大的数本身开始递减筛选最大公因数。//把b用c存储起来,从而让b成为一个可变化的量让他模拟公因数的所有可能。if(a<b)//如果a>b就不动,a<b则把数字调换。}//确保a>=b方便后续不要分类讨论计算。

2023-12-02 00:28:21 67 1

空空如也

空空如也

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

TA关注的人

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