摘要:
一、在归并排序中对小数组采用插入排序(放在上一篇里了);二、冒泡排序冒泡排序效率几乎是所有排序里最低的,但却很流行,就是因为它的编程复杂度也是最低的。大多数时候,效率还不及插入排序,其实冒泡排序、插入排序、选择排序基本上效果是差不多的(这个效果不是功能。。功能上讲肯定差不多啊都是排序),只是过程略有... 阅读全文
摘要:
最近一段时间的博客都是记录我读《算法导论》的文字,虽然很厚,但是一点一点来吧,总有一天会看完的。虽然只看了几页,感觉收获还挺多的,原来懂了算法,却不一定能做出最好的代码(姿势很重要啊Orz。。),果然要跟着导论学习正确的姿势。2016.1.1 今天看了两个算法:插入排序和归并排序。代码如下(C语言... 阅读全文
摘要:
这是个很经典的问题,但是我看了很多讲解都感觉不是很系统,但是受到了看的讲解的启发,在这里希望写一个比较严谨系统的讲解。 题目是这样的:在漆黑的夜里,四位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,四个人一共只带了一只手电筒,而桥窄得只够让两个 阅读全文
摘要:
为什么推荐用cfree呢?因为我认为这个编辑器界面友好,用起来方便。 你也许会问,调试程序是什么? 那么下面思考几个问题:对于前面讲的分支结构和循环结构有点不懂怎么办?如果写的程序语法没有错误但是运算结果是错的怎么检查?你是否希望你能一步一步的运行程序,并且实时查看某个变量的值的动态变化? 答案就是 阅读全文
摘要:
其实只懂了前面讲的那些内容还是无法实现C语言的强大功能,除了变量和输入输出,还需要程序的结构来控制,这是属于C语言语法的内容。 编程语言有三种结构:顺序结构,分支结构,循环结构。 顺序结构不用多说,就是一句一句的写。前面讲过的都是顺序结构。下面主要讲一下后面两个。 一,分支结构。 想象这样一个问题, 阅读全文
摘要:
我们都知道,除了数字以外还有其他符号,比如字母等等,这些符号就是字符,存储字符的变量就是字符型变量。 一个字符型变量只能存储一个字符,比如time这个单词,就需要四个字符变量来存储。 那么,思考下面几个问题: 字符型变量在计算机内是以什么形式存储的? 答案很显然,也是0110这类的二进制码。 那么, 阅读全文
摘要:
小数类型的变量有float,double。它们的关系相当于int和long的关系,符号分别是%f和%lf。据说也有long double,但是我还没有使用成功过这个类型。没事double就够用了。 和整数类型相似的地方就不多说了,这里就说几个特殊的地方吧。看下面这个程序代码 请猜测输出结果,猜完以后 阅读全文
摘要:
原谅我的思维风格,学了整型变量,其他变量也差不多,所以在你对各种变量的了解很厉害之前,我还是要讲一点别的东西,还是一个规范的问题——变量命名。 其实规范对于程序员来说很重要,就像写代码要有合适的缩进,变量命名也需要有规范,只有用规范的方式写出来的程序才是美的、能让人理解的。 因为变量的命名具有随意性 阅读全文
摘要:
我们先不说变量怎么读入,我们先说说读入是什么?为什么要读入? 先来看一个例子,我现在需要计算两个整数的乘积。先看只用前面学过的内容的实现。 结果会输出2432。那么每次你只需要修改a和b的赋值然后再运行就可以计算两个数的乘积了。 但是,程序是给用户使用的,而不是程序员,所以你不可能让每个用户的电脑上 阅读全文
摘要:
有了上面两篇的基础现在我们开始接触变量。 先想一个问题,为什么hello world程序没有涉及变量? 因为C语言的程序就是对数据的存储、处理、输入、输出的过程,那么哪一个是必须有的呢?显然是输出。别的都可以没有,但是输出必须有,一个没有输出的程序是没有意义的。很简单的道理,数据处理了,没看到结果, 阅读全文