
c语言
leoe_
这个作者很懒,什么都没留下…
展开
-
c语言之排序
冒泡排序是排序算法的一种,思路清晰,代码简洁,常被用在大学生计算机课程中。 “冒泡”这个名字的由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。 这里以从小到大排序为例进行讲解。 基本思想及举例说明 冒泡排序的基本思想就是不断比较相邻的两个数,让较大的元素不断地往后移。经过一轮比较,就选出最大的数;经过第2轮比较,就选出次大的数,以此类推。 下面以对 3 2原创 2016-10-17 21:10:25 · 1298 阅读 · 0 评论 -
KMP算法的next[]数组通俗解释
我们在一个母字符串中查找一个子字符串有很多方法。KMP是一种最常见的改进算法,它可以在匹配过程中失配的情况下,有效地多往后面跳几个字符,加快匹配速度。 当然我们可以看到这个算法针对的是子串有对称属性,如果有对称属性,那么就需要向前查找是否有可以再次匹配的内容。 在KMP算法中有个数组,叫做前缀数组,也有的叫next数组,每一个子串有一个固定的next数组,它记录着字符串匹配过原创 2016-04-26 19:53:18 · 960 阅读 · 0 评论 -
关于栈与堆的区分
一个由C/C++编译的程序占用的内存分为以下几个部分: 1、栈区(stack):又编译器自动分配释放,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构的栈。 2、堆区(heap):一般是由程序员分配释放,若程序员不释放的话,程序结束时可能由OS回收,值得注意的是他与数据结构的堆是两回事,分配方式倒是类似于数据结构的链表。 3、全局区(static):也叫静态数据内原创 2016-03-23 13:04:44 · 1005 阅读 · 0 评论 -
关于传参数
昨天看了内存管理的有关内容,有一点了解,但不是很深入,发现之前写代码时有很多细节问题没有注意到,只知道这样做可以实现功能,却不知道为什么可以这样,对于采用自己的方法造成的隐患也未知,更不晓得还有其他方法可以实现,我们知道C++强大的一个原因是因为对于一个问题的答案多种解答方法或思路,我想着也许就是它难学的原因。因为你只知道一种或极少数的实现方法,却不知道其他的实现方法,换句话说,就是对这个东西很掌原创 2016-03-17 18:33:15 · 1182 阅读 · 0 评论 -
关于c中的随机数的设定
一、rand() 函数名: rand 功 能: 随机数发生器 用 法: int rand(void); 所在头文件: stdlib.h 函数说明 : rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定 的范围里可看成原创 2016-03-17 09:03:39 · 1273 阅读 · 0 评论