摘要:
题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情。不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳。 同学们在教室中坐成了M行N列,坐在第i行第j列的同学的位置是(i,j),为了方便同学们进出,在教室中设 阅读全文
摘要:
四、计数排序: 个人觉得吧,计数排序是最简单的排序算法,就是特别浪费空间,接下来,来点严谨一些的语言: 计数排序不是基于比较的排序算法,其核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。 作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。 排序思路: 这一本正经的 阅读全文
摘要:
在程序设计中,没有特定类型,但是一旦指定一种类型,就可以转换成指定类型的代码, 例如C++有一个关键tmeplate关键字用于声明模板,而模板的最大应用便是创建泛型算法。可惜的是c没有这个关键字 但是,最新的C11标准新添加了一种表达式,叫做泛型选择表达式(generic seletion expr 阅读全文
摘要:
说到查找算法,最简单最暴力的算法就是一个个比较,确定是否为所需要的值。 例如, 0,1,2,3,4,5,6,7,8,9 十个数中查找是否存在数 x , 那么暴力的方式就是 1. 取出第一个数 0 与 x 比较,若相等则返回索引 2. 取出第二个数 1 与 x 比较,若相等则返回索引 3. 取出第三个 阅读全文
摘要:
指针是C的精华,不会指针就等于没学C。但指针又是C里最难理解的部分,所以特意写下这篇博客整理思路。 一、指针类型的声明 C的数据类型由整型、浮点型、字符型、布尔型、指针这几部分构成。前四种类型比较好理解,整型就存放整数,浮点就存放小数…… 那么C语言的最大优势——指针它是存放什么的呢。指针难理解的第 阅读全文
摘要:
二、选择排序: 选择排序十分的简单和直观,其的工作原理是每一次从待排序的数组中选出最小(或最大)的一个元素,存放在序列的起始位置。因此,选择排序也是像我们这种萌新最容易写出来的排序算法。 排序步骤: 重复如此直到完成排序 下面举个栗子: 有一个数组其元素如下 5 1 4 3 2 6 7 0 9,其选 阅读全文
摘要:
三、插入排序: 插入排序是一种非常简单的排序,它的实现难度低于冒泡和选择。(我第一个for循环写出的排序就是插入排序)插入排序类似整理扑克牌,将每一张牌插到其他已经有序的牌中适当的位置。 基本思想: 插入排序由N-1趟排序组成,对于P=1到N-1趟,插入排序保证从位置0到位置P上的元素为已排序状态。 阅读全文
摘要:
排序算法顾名思义,给元素排序,无论是从小到大也好还是从大到小也罢,都归属于排序,作为一个刚入坑但又在能力上有所欠缺的萌新来说排序算法是简直难以逾越的天坑,我曾经见过一个朋友冒泡排序敲了一周QAQ,勉强敲了出来。我写这些博客的原因,一是学习整理巩固排序算法,二是帮助有需要的朋友们。 我坚信一句话:坚持 阅读全文