算法【快速排序】
摘要:算法【快速排序】 快速排序。选择一个作为比较的元素,这里我们选择首元素,这个元素我叫他‘比较元素’;前后两个指针(其实是索引变量)同时往后和往前进行遍历,开头的指针遇到比‘比较元素’大的元素停下来(空循环体的循环即可实现),末尾的指针往前遍历,遇到比‘比较元素’小的元素停下来;两个元素都停止后,交换
阅读全文
posted @
2023-12-07 20:40
持枢丶
阅读(157)
推荐(0) 编辑
算法【冒泡排序】
摘要:算法【冒泡排序】 冒泡排序是将每相邻两个数作比较,根据排序规则作交换。每一趟可以交换出一个最大(或最小)的数放到数组末尾,之后每趟循环可以少跑一个元素,如此循环(外层)N趟。 以下代码为冒泡排序: void bubble(int *arr, int size){ for(int i = 0; i<s
阅读全文
posted @
2023-12-07 16:44
持枢丶
阅读(27)
推荐(0) 编辑
数据结构【动态数组】
摘要:数据结构【动态数组】 在堆中申请数组空间,扩容时realloc,注意不可增删改的情况并处理即可。 以下代码不一定完全正确。 #include <stdio.h> #include <stdlib.h> /** * 声明动态数组,并提供相关的函数操作 */ // 动态数组结构体 typedef str
阅读全文
posted @
2023-12-07 14:34
持枢丶
阅读(153)
推荐(0) 编辑
C语言【交换两变量值】
摘要:C语言【交换两变量值】 // 1、临时变量 int x = 10, y = 20; int temp = x; x = y; y = temp; // 2、相加再减的方法 int a = 10, b = 20; a = a+b; b = a-b; a = a-b; // 3、异或的方法,利用 A^A
阅读全文
posted @
2023-12-02 20:05
持枢丶
阅读(31)
推荐(0) 编辑
数据结构【1】
摘要:数据结构【1】 1、数据结构是什么,有什么作用 数据结构就是 存储数据时,将数据排列的关系。 使用数据结构的目的是为了使数据的增删查改更快速便捷。 2、数据之间的关系: 集合、线性、树形、图形(网状)。 集合之间的数据基本没有什么关系。 线性关系是数据间是一条线或几条线这样存储。
阅读全文
posted @
2023-11-28 19:02
持枢丶
阅读(88)
推荐(0) 编辑
C语言【几个关于字符串/字符的函数的使用、几个特殊的++】
摘要:C语言【几个关于字符串/字符的函数的使用 以及 几个特殊的++】 // 将info的值从第一个空格或换行处截取赋给指针,空格或换行也不要了。 sscanf(info, "%s", 指针); scanf("%s", 指针); // 从控制台输入到指针,空格或换行处截取,不要空格或换行 scanf("%
阅读全文
posted @
2023-11-27 18:10
持枢丶
阅读(104)
推荐(0) 编辑
C语言【文件操作】
摘要:C语言【文件操作】 1、输入/输出流的定义。 C语言中,文件输入/输出以流的方式进行。 读还是写,输入还是输出,是站在内存(程序)的角度来看的。从程序(内存)向 数据源(如文件、网络等)传递数据的过程叫做读数据,读数据使用的路径叫做输入流,一般读数据的过程是一个解码的过程;从数据源(如文件、
阅读全文
posted @
2023-11-26 20:39
持枢丶
阅读(174)
推荐(1) 编辑
C语言【自定义数据类型、typedef、动态内存分配】
摘要:C语言【自定义数据类型、typedef、动态内存分配】 一、自定义数据类型。 关于下面讲到的所有自定义数据类型(enum、struct、union),有一点要说的是:定义类型不是声明变量,做这步操作时不分配内存,也不能在定义类型时赋值(枚举那个不是赋值,是做一个限定,赋值时赋限定之外的值也不报错
阅读全文
posted @
2023-11-24 20:07
持枢丶
阅读(385)
推荐(0) 编辑
C语言【预处理器】
摘要:C语言【预处理器】 1、一些关于预处理的知识 C代码中,一般带 # 的都是预处理指令,包括 宏替换、文件包含、条件编译 等。 为兼容一些老编译器, # 前后一般不写空格 预处理指令后面不加分号。 2、宏定义 // 格式如下 #define 宏名称 (替换文本) // 这个替换文本记得加上
阅读全文
posted @
2023-11-23 20:14
持枢丶
阅读(161)
推荐(0) 编辑
C语言【指针】
摘要:C语言【指针】 1、指针类型长度随操作系统,64位操作系统为8Byte。 具体说一下:地址相当于门牌号,一般一个地址指向的空间是一个字节(下面按一个字节叙述,计算机底层也许也有按双字节编码的)。对于64位机器,某一个地址有64位,所以在空间里存那某一个地址时,这64位即8Byte。这64位总共能
阅读全文
posted @
2023-11-22 18:47
持枢丶
阅读(225)
推荐(0) 编辑
C语言【函数、作用域、常用系统函数】
摘要:C语言【函数、作用域、常用系统函数】 一、函数 1、函数的声明 // 函数声明格式 int add(int x, int y); // 或 int add(int, int); 自定义函数如果放在main函数之后,需要声明函数才可以访问到。如果未声明,则编译器会自动补一个返回类型未int类型的声
阅读全文
posted @
2023-11-21 20:43
持枢丶
阅读(222)
推荐(0) 编辑
C语言【数组】
摘要:C语言【数组】 一、数组的一些零碎的知识 1、数组在内存中的空间是连续的,数组下标从0开始; 数组中存储的类型是一致的(只能存储同一类型,这样可以快速定位某元素) 2、指针可看作存储地址的变量,数组名可看作地址那个常量,所以数组名不可修改 。可以改的是数组元素:a[0] 或 *a 二、一维数组 1、
阅读全文
posted @
2023-11-19 22:08
持枢丶
阅读(164)
推荐(0) 编辑
C语言【控制语句】
摘要:C语言【控制语句】 一、分支控制语句 1、if语句略。 2、switch...case如下 switch(表达式){ case 常量1: // ... break; case 常量2: // ... break; defaule: // ... break; } 注意: switch括号里的表达式只
阅读全文
posted @
2023-11-18 20:17
持枢丶
阅读(128)
推荐(0) 编辑
C语言【运算符】
摘要:C语言【运算符】 1、运算符分类 按照操作个数分类: 一元运算符(一目运算符):只有一个操作数。如 负号 -1。 二元运算符(二目运算符):有两个操作数。如 加号 1+2。 三元运算符(三目运算符):有三个操作数。如 ?: a>b?1:2。 按功能分类: 算数运算符:正(+)、负(-)、加(+)、减
阅读全文
posted @
2023-11-17 21:00
持枢丶
阅读(187)
推荐(0) 编辑
C语言【进制、原反补码、数据类型】
摘要:C语言【进制、原反补码、数据类型】 1、二进制、八进制、十进制、十六进制在C语言中的使用(赋值及输出)? /** 二进制 赋值时以 0b 或 0B 开头; 输出时没有所属占位符, 十六进制整数输出也比较直观 */ int num_bin = 0b110; printf("%d\n", num_bin
阅读全文
posted @
2023-11-16 11:40
持枢丶
阅读(191)
推荐(0) 编辑
C语言【编译器、变量、输入输出有关的】
摘要:C语言【编译器、变量、输入输出有关的】 一些想到的【从编译器到变量到输入输出有关的】的问题,有些是按自己理解写的答,有些待解决。 C语言可以跨平台,汇编不可以,编译时C语言会根据不同系统翻译成不同形式的汇编语言。 C语言中算数运算会在寄存器中运行,变量保存在堆或栈中。 遗留问题: C语言变量名如何在
阅读全文
posted @
2023-11-15 13:50
持枢丶
阅读(80)
推荐(0) 编辑