摘要:
初等排序_学习笔记 ### 插入排序 将开头元素视作已排序; 执行下述处理,直至未排序不部分消失; 取出未排序部分的开头元素赋给变量v; 在已排序部分,将所有比v大的元素向后移动一个单位; 将已取出的元素v插入空位。 void insertSort(int A[], int len) { int i 阅读全文
摘要:
剑指OFFER_0至n-1中缺失的数字 题目 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。 示例 1: 输入: [0,1,3] 输出: 2 示例 2: 输入: [0,1,2,3, 阅读全文
摘要:
剑指OFFER_在排序数组中查找数字 I 题目 统计一个数字在排序数组中出现的次数。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 示例 2: 输入: nums = [5,7,7,8,8,10], target = 6 输出: 0 限制: 0 < 阅读全文
摘要:
剑指OFFER_两个链表的第一个公共节点 题目 输入两个链表,找出它们的第一个公共节点。 如下面的两个链表**:** 在节点 c1 开始相交。 思路 我的思路就是先遍历一个链表,用哈希set保存起来,然后遍历另一个列表,如果遇到已经存过的就返回; 代码 class Solution { public 阅读全文
摘要:
剑指OFFER_扑克牌中的顺子 题目 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。 示例 1: 输入: [1,2,3,4,5] 输出: True 示例 2: 输 阅读全文
摘要:
C语言学习笔记_状态机 概念 全程为有限状态机FSM; 能够从外部接收信号和信息输入,机器在接收到外部输入的信号后会综合考虑当前状态和用户输入的信息,然后机器做出动作,跳转到另一个状态; Moore和Mealy型 Moore型状态机特点是:输出只与当前状态有关(与输入信号无关)。相对简单,考虑状态机 阅读全文
摘要:
C语言学习笔记_void&NULL API和库函数 API是操作系统系统的接口,用于获取操作系统提供的服务,如读写文件open、write等; 库函数是c语言对操作系统API的封装,如fopen、fwrite; 不同的操作系统具有不同的API,而库函数相同,具有一定的可移植性; main函数的传参 阅读全文
摘要:
C语言学习笔记_存储类&作用域&链接属性 存储类 存储类就是存储类型,也就是描述c语言变量在何种地方存储, 内存中有多种管理方法,栈、对、数据段、bss段、.text段,一个变量的存储类属性就是描述这风格变量存储在何种内存段中; 作用域 一个变量的作用域就是其所在的代码块,也就是上一个大括号所在的区 阅读全文
摘要:
C语言学习笔记_函数与函数库 函数库 函数是模块化的,因此可以被复用。 函数库就是一些事先写好的函数的集合。 函数库的提供形式:动态链接库和静态链接库: 静态链接库 静态库是商业公司将自己的函数库源码经过只编译不链接形成的.o的目标文件; 然后用ar工具将.o文件归档成.a的归档文件(.a的归档文件 阅读全文
摘要:
C语言学习笔记_C语言宏定义与预处理 由源码到可执行程序的过程 源码; 预处理过的.i源文件 汇编文件.s 目标文件.o elf可执行程序 条件编译 // 定义XXX #define XXX // 这种方式直接判定XXX是否被定义 #ifdef XXX #else #endif // 这种方式判断条 阅读全文