
c
C语言
小元进大厂
这个作者很懒,什么都没留下…
展开
-
排序——堆排序
目录1.什么是堆?1.1大堆1.2小堆2.如何调整成小堆或大堆(如何建堆)2.1向下调整3.堆排序4.完整代码1.什么是堆?你可以把堆理解成一颗完全二叉树,它的结点并不一定是满的那么堆又分为:1.大堆 2.小堆1.1大堆大堆就是这颗完全二叉树的父节点都大于他的子节点例如这就是一个大堆1.2小堆小堆与大堆的区别就在于,小堆是每个父节点都小于他的子节点2.如何调整成小堆或大堆(如何建堆)我们将堆看做是一颗完全...原创 2022-03-29 10:50:34 · 380 阅读 · 0 评论 -
希尔排序——直插排序的更好优化
希尔排序原创 2022-03-28 17:24:05 · 559 阅读 · 0 评论 -
光标跳转函数
将光标跳转到任意位置我们就可以实现任意位置的打印需要的头文件<Windows.h>完整代码void CursorJump(int x, int y){ COORD pos; pos.X = x; pos.Y = y; HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(handle, pos);}目录COORDHANDLEGetStdHandle原创 2022-03-27 12:10:40 · 2607 阅读 · 0 评论 -
乐趣c语言——贪吃蛇
贪吃蛇简单实现原创 2022-03-27 11:22:16 · 5941 阅读 · 1 评论 -
动态内存详解
我们目前知道内存中几个常见的区1.栈区2.堆区3.静态区.........我们先来看看目前已知的在内存中是如何开辟空间的int a;//向栈区申请4个字节的内存int arr[5];//向栈区申请20个字节的内存我们会发现,数组的开辟多少空间是要提前设置好的,那么我们会不会有时候确定不了需要的字节呢我们来举一个例子struct Stu{ char name[20]; int age; int scort[10];}我们创建了一个有原创 2022-03-07 20:17:01 · 3753 阅读 · 0 评论 -
结构体详解----联合体
联合体和其他结构体一样都包含很多成员,但是不同点就在于这些成员的空间是共用的union S{ char a; int b;}那么有什么用呢实现判断当前机器的内存存储是大端字节存储还是小端字节存储int check_sys(){ union S { char a; int b; }s; s.b=1; return s.a;}int main(){ int ret=check_原创 2022-03-05 16:30:33 · 289 阅读 · 0 评论 -
结构体详解------枚举
枚举----(一一列举)枚举就是讲所有的可能性都列出来eg.(注意用逗号)enum sex{ male, female}设定完后你就可以使用这些枚举常量eg.int main(){ enum sex s=male; return 0; }枚举的优点1.增加代码的可读性和可维护性2.枚举相比#define的定义方式来说增加了类型检查,更加严谨3.防止了命名污染4.便与调试5.使用方便,一次定义多个常量...原创 2022-03-05 16:23:14 · 373 阅读 · 0 评论 -
结构体详解-------位段
我们知道结构体在内存中的存储是为了速度而舍弃浪费一些内存,那么为了减少内存的浪费,我们今天引入一个知识-----位段struct A{ int_a:3; int_b:4; int_c:2;}这就是一个位段的例子,我们看到成员都是一个冒号后面跟着数字,代表所占用的字节...原创 2022-03-05 16:17:36 · 252 阅读 · 1 评论 -
结构体----内存对齐(多用于求结构体大小)
前言:内存对齐的作用就是舍弃内存来换取运行速度我们先了解一下结构体在内存中如何存储数据1.第一个数据放在偏移为0的地址中2.其后的地址放在对齐数的整数倍地址上(自身所占用字节数与默认对齐数相比较,取较小值即为对齐数(在vs中默认对齐数为8));3.结构体总大小为最大对齐数的整数倍,结构体总大小向最大对齐数的整数倍取整eg.在结构体中如果最大对齐数为4,则总大小只能是4的倍数4.如果在结构体中有嵌套其他结构体的情况,则被嵌套的结构体的对齐数取自身结构体内最大对齐数,此时整个结构体的总大原创 2022-03-04 23:06:37 · 89 阅读 · 0 评论