
c
银-TaMa
吾王美如画
展开
-
1月5日 c语言学习 总结
基础的数学运算注意区别 = 与 ==赋值运算符: =条件判断运算符 ==四则混合运算 : + - × /a % b = r 等价于 a = k×b + r位运算: & 按位与 | 按位或 ~ 按位取反 ^(相同为0,不同为1,自反性 ,逆运算(+ 与 - 相反)是自己) 其中 因为抑或的逆运算就是自己,所以有一个很有趣的性质交换两个数字 a b...原创 2019-01-06 15:21:09 · 228 阅读 · 1 评论 -
【socket 要点回顾】I/ O 多路复用
【socket 要点回顾】I/ O 多路复用为什么要使用I/ O 多路复用?当一个进程有很多个I/O 需要处理的时候,1号I/O 可能没有数据可能,此时由于I/O 是阻塞读,整个进程就阻塞到从1号I/O 读数据的这个地方。什么其他事情都无法处理,即使,此时,如果有其他的I/O 有数据可以读了。这很明显是很低效的方式,那么你可能会想,我开n个线程,每个线程处理一个I/O读的事件,那么不就可以避...原创 2019-03-22 20:56:59 · 132 阅读 · 0 评论 -
【c操作mysql】极简封装,两行代码插入任何表单
【c操作mysql】极简封装,两行代码插入任何表单/************************************************************************* > File Name: mysqlTest.c > Author:Gin.TaMa > Mail:1137554811@qq.com > Created Tim...原创 2019-03-23 18:31:41 · 133 阅读 · 0 评论 -
【数据结构回顾】单链表实现
【数据结构回顾】单链表实现/************************************************************************* > File Name: list.h > Author:Gin.TaMa > Mail:1137554811@qq.com > Created Time: 2019年03月26日 星期...原创 2019-03-26 20:54:56 · 127 阅读 · 0 评论 -
[数据结构 回顾]线性表的实现
线性表的实现先上代码:/************************************************************************* > File Name: 1.vector.cpp > Author:Gin.TaMa > Mail:1137554811@qq.com > Created Time: 2019年04月0...原创 2019-04-10 15:58:50 · 137 阅读 · 0 评论 -
3 * 3 矩阵行列式 计算
题目如下就是计算一个3 * 3 和 一个 2 * 2 的行列式。思路如下把x和y分开来看各自的变化规律x 始终是 1 => 2 => 3y 是一个循环变化的过程,那就 ( y + 1 )% 3 来表示循环变化的过程。这样这个过程就可以用两层循环来表示啦。代码如下int a_value = 0; for (int i = 0; i < 3; i++) { ...原创 2019-07-01 16:07:15 · 55287 阅读 · 0 评论 -
【数据结构回顾】二分法
普通情况:给出一个升序的数组 numnumnum,数组长度为 lenlenlen。补全binary_search函数,判断数组num中是否存在元素target,若存在则返回该数字在数组中的 下标,否则返回 −1-1−1。min 指向头,max 指向尾,mid 为(min + max) / 2当min >= max 时候终止循环如果arr[mid] < target , min ...原创 2019-07-05 20:51:40 · 264 阅读 · 0 评论 -
【数据结构回顾】快速选择
问题:给定一个数组,对于某个区间,找出其中第 kkk 大的元素。针对这个问题,有一个经典的算法被称为 快速选择算法,它可以在 O(n)\mathcal{O}(n)O(n) 的时间复杂度内找出区间内第 kkk 大元素。还记得快速排序中的一个步骤——划分区间么?经过一个 O(n)\mathcal{O}(n)O(n) 复杂度的区间划分过程,可以将数组分为两部分,第一部分的元素值都小于等于 pivot...原创 2019-07-06 12:46:55 · 216 阅读 · 0 评论 -
leedcode 53. 最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。这个就是维护一个最小的前缀和,然后判断当前的前缀和和最小前缀和的差值是否可更新ans注意问题1 前缀和初始化为0 ,为了保证求所有元素的和的情况。2 ...原创 2019-07-06 23:13:49 · 126 阅读 · 0 评论 -
[c 要点回顾]《C 程序设计新思维》 第6 - 8 章笔记
[c 要点回顾]《C 程序设计新思维》 第6 - 8 章笔记首先,这本书还是蛮值得一看的,然后呢,前六章是一些有用的工具的介绍。第 6 章 玩转指针6. 1 自动,静态 和手工内存C 提供三种内存管理的模式,理解这三种概念,对于我们理解变量,寻找类似核心已转移的bug有莫大的帮助。自动当我们声明一个变量后,当程序离开他的作用域后,就会被程序销毁静态函数外部声明的(文件作用域) 和 ...原创 2019-03-22 20:51:34 · 124 阅读 · 0 评论 -
【C 知识点回顾】泛型指针实现Swap
【C 知识点回顾】泛型指针实现Swap/************************************************************************* > File Name: swap.c > Author:Gin.TaMa > Mail:1137554811@qq.com > Created Time: 2019年03月...原创 2019-03-26 13:31:39 · 197 阅读 · 0 评论 -
c语言-变参函数实践 - 使用putchar来模拟printf函数
其实很简单的实现对于%d的输出测试用例使用我们实现的my_printf 函数对于下列情况可以实现和使用printf相同的效果int main(){ int n = 123; my_printf("hello haizei\n"); my_printf("n = %d\n",n); my_printf("n = %d\n",456); my_printf..原创 2019-01-06 16:00:59 · 850 阅读 · 2 评论 -
使用循环数组解决 斐波那契数列问题
详细题目如下题目一千位斐波那契数斐波那契数列是按如下递归关系定义的数列:F1 = 1 F2 = 1Fn = Fn−1 + Fn−2因此斐波那契数列的前12项分别是:F1 = 1F2 = 1F3 = 2F4 = 3F5 = 5F6 = 8F7 = 13F8 = 21F9 = 34F10 = 55F11 = 89F12 = 144第一个有三位数字的项是第12项F1...原创 2019-01-06 19:43:53 · 1851 阅读 · 2 评论 -
Euler 27 二次“素数生成”多项式
题目链接关于这道题目需要解决的点主要是判断一个数是不是素数如何有效的减枝判断一个数是不是素数判断一个数是不是素数有很多种做法,比如试除法今天呢使用一个更快的办法米勒测试主要的原理是根据费马小定理定理描述 当且仅当 P 为素数时: ap-1 mod P 为 1 1 <= a <= p - 1那么我们只需要选取若干个a,代入以上公式求得结果,若均...原创 2019-01-08 19:33:22 · 834 阅读 · 1 评论 -
最大质因数
题目描述如下最大质因数13195的所有质因数为5、7、13和29。600851475143最大的质因数是多少?这个题怎么做呢 ??难道我先要求出 根号600851475143 以内的所有素数,然后从大到小的比较吗?当然也是可行的,不过我们换一种看待数字的方式。比如 看成一系列素数相乘的形式:a = p1a1 ×p2a2×p3a3×p4a4 …啥意思呢 比如 12 可以表示为 ...原创 2019-01-09 15:28:22 · 1548 阅读 · 0 评论 -
C 语言宏的小练习_实现对google,TEST()框架的小模拟
C 语言宏的小练习_实现对google,TEST()框架的小模拟今天实现一个小小的练习,实现效果如下/************************************************************************* > File Name: test.c > Author:Gin.TaMa > Mail:1137554811@qq....原创 2019-01-15 19:18:45 · 230 阅读 · 0 评论 -
Socket Linux c 学习小结(一)
Socket Linux c 学习小结(一)一、背景 初次接触服务器与客户端的知识,先从最简单的做起:了解linux中使用的计算器。linux中使用的计算器是最为简单的服务器与客户端协同工作的例子。二、从管道到服务器与客户端 传统的Unix管道只是单方向的传送数据。打个比方,在linux命令行下使用cat /etc/passwd | grep Jack命令。这个命令将cat的输出结果通...原创 2019-02-22 14:42:27 · 139 阅读 · 0 评论 -
操作系统学习笔记(二)
操作系统学习笔记(二)进程,地址空间与线程在引言中我们已经提到,由于计算机所拥有的物理资源有限,当多个程序在计算机上同时运行时,它们不可能连续地在处理器上运行或占用全部内存,因此我们需要进程的抽象在用户的一侧隐藏上下文切换等细节。进程作为运行的程序的抽象,包含了一个程序的运行状态和这个程序所用的抽象内存及其中存储的数据。我们将后一部分,即一个进程可以使用的全部内存的地址和它们存储的数据,称为这...原创 2019-03-02 20:29:57 · 188 阅读 · 0 评论 -
操作系统 c 读者写者问题
操作系统 c 读者写者问题问题描述:如果你建立了一个数据库,同时可以通过多个线程被多个远程用户使用,其中一些用户只需要查看数据,而另一些用户需要修改数据。显然:你不能允许两个用户同时修改数据,但你也不能允许一个用户在修改数据时、另一个用户来读取数据,因为这时后一个用户读取到的数据可能是没有被完全更新的数据。 因此我们需要一个特殊的管程,在没有写入数据的线程...原创 2019-02-27 11:46:41 · 617 阅读 · 0 评论 -
最大子序和 优先队列
题目描述 输入一个长度为 nn 个数找到最大子序和。输出 一个数,数出他们的最大子序和。样例输入6 41 -3 5 1 -2 3样例输出7数据规模与约定 时间限制:1 s 内存限制:256 M 100% 的数据保证 1≤n≤3000001≤n≤300000因为是求子数组的和,所以先进行一个前缀和的处理,然后,使用一个单调队列来维护区间的...原创 2019-07-07 10:49:29 · 162 阅读 · 0 评论