随笔分类 -  C Program

摘要:一. 算法描述 插入排序具体算法描述如下:从第一个元素开始,该元素可以认为已经被排序取出下一个元素,在已经排序的元素序列中从后向前扫描如果该元素(已排序)大于新元素,将该元素移到下一位置重复步骤3,直到找到已排序的元素小于或者等于新元素的位置将新元素插入到该位置后重复步骤2~5 举个例子:5 7... 阅读全文
posted @ 2014-06-13 21:05 NW_KNIFE 阅读(234) 评论(0) 推荐(0) 编辑
摘要:一. 算法描述 选择排序:比如在一个长度为N的无序数组中,在第一趟遍历N个数据,找出其中最小的数值与第一个元素交换,第二趟遍历剩下的N-1个数据,找出其中最小的数值与第二个元素交换......第N-1趟遍历剩下的2个数据,找出其中最小的数值与第N-1个元素交换,至此选择排序完成。 举个例子:5 ... 阅读全文
posted @ 2014-06-13 12:15 NW_KNIFE 阅读(300) 评论(0) 推荐(0) 编辑
摘要:一. 算法描述 冒泡排序思想:依次比较相邻的数据,将小数据放在前,大数据放在后;即第一趟先比较第1个和第2个数,大数在后,小数在前,再比较第2个数与第3个数,大数在后,小数在前,以此类推则将最大的数"滚动"到最后一个位置;第二趟则将次大的数滚动到倒数第二个位置......第n-1(n为无序数据的个... 阅读全文
posted @ 2014-06-12 21:47 NW_KNIFE 阅读(316) 评论(0) 推荐(0) 编辑
摘要:题目来源:《The C programming language》中的习题P38练习2-9: 在求对二的补码时,表达式x &= (x-1)可以删除x中最右边值为1的一个二进制位。请解释这样做的道理。用这一方法重写下面的bitcount函数,以加快其执行速度。#includevoid main(){ ... 阅读全文
posted @ 2014-06-11 08:57 NW_KNIFE 阅读(436) 评论(0) 推荐(0) 编辑
摘要:题目来源:《The C programming language》中的习题P38练习2-1: 编写一个函数rightrot(x,n),该函数返回将x循环右移(即从最右端移除的位将从最左端移入)n(二进制)位后所得到的值。 第一种解法思路:每次将【x最右端右移1位】与【该位左移到最左端】 进行【或运... 阅读全文
posted @ 2014-06-10 21:42 NW_KNIFE 阅读(530) 评论(0) 推荐(0) 编辑
摘要:题目来源:《The C programming language》中的习题P27练习2-1: 编写一个程序以确定分别由signed及unsigned限定的char、short、int与long类型变量的取值范围。采用打印标准头文件中的相应值以及直接计算两种方式实现。后一种方法的实现较困难一些,因为要... 阅读全文
posted @ 2014-06-08 15:42 NW_KNIFE 阅读(425) 评论(0) 推荐(0) 编辑
摘要:题目来源:《The C programming language》中的习题练习1-23:写一个删除C语言程序中所有的注释语句。要正确处理带引号的字符串与字符常量。在C语言中,注释不允许嵌套 思路: 注释语句分为两种://和/* */。在代码中,我们需要做的是,删除所有的注释语句。以下分两种情况来... 阅读全文
posted @ 2014-06-08 11:54 NW_KNIFE 阅读(378) 评论(0) 推荐(0) 编辑
摘要:题目来源:《The C programming language》中的习题练习1-22:编写一个程序,把较长的输入行‘折’成短一些的两行或者多行,折行的位置在输入行的第n列之前的最后一个非空格之后。要保证程序能够智能地处理输入行很长以及在指定的列前有空格或制表符时的情况。 思路: 我们可以这样理... 阅读全文
posted @ 2014-06-07 21:34 NW_KNIFE 阅读(860) 评论(0) 推荐(0) 编辑
摘要:题目来源:《The C programming language》中的习题 练习1-21:编写程序entab,将空格串替换为最好数量的制表符和空格,但要保持单词之间的间隔不变。 思路: 对于制表符的作用我们已经在习题1-20中讲解了。 这里的题目是用最少的制表符和空格代替空格。这里也分为以... 阅读全文
posted @ 2014-06-07 11:40 NW_KNIFE 阅读(449) 评论(0) 推荐(0) 编辑
摘要:题目来源:《The C programming language》中的习题 练习1-20:编写程序detab,将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止的地方。 思路: 这里,我们首先要对制表符的概念和情况进行了解:制表符的作用是将光标移到最接近8的倍数的位置,使得后... 阅读全文
posted @ 2014-06-07 11:28 NW_KNIFE 阅读(1040) 评论(0) 推荐(0) 编辑