![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 70
信陵丶公子
人世如潮人如水。我是水比
展开
-
生成字典排序的下个排列。(POJ—1833)
生成下一个排列的字典序法字典序法中,对于数字1、2、3......n的排列,不同排列的先后关系是从左到右逐个比较对应的数字的先后来决定的。例如对于5个数字的排列12354和12345,排列12345在前,排列12354在后。按照这样的规定,5个数字的所有的排列中最前面的是12345,最后面的是54321。字典序算法如下:设P是1~n的一个全排列:p=p1p2......原创 2015-07-16 19:17:08 · 596 阅读 · 0 评论 -
一些OJ的排序题(冒泡排序的一般形式)
由于期末期间,完全把心思放在了预习课本和刷试卷了。基本上两个月没有写过代码。过了考试,在刷CCF认证题库时,出现了很多的问题,甚至连冒泡排序都记不清楚。虽然最近物联网项目也比较紧,决定以后还是保持每天至少一个题的量度。晚上学习数据结构与算法。下面是CCF认证的2015/3/2的一个数字排序题目,和类似的题(2013/12/1次数最多)。2015/3/2问题描述 给定n个整数,请统计出每个整数出现...原创 2018-04-12 22:53:56 · 2247 阅读 · 0 评论 -
数组的下标访问和指针访问方式效率分析比较
1、int array[10], a;for (a = 0; a { array[a] = 0;}该组使用下标方式赋值,为了对下标表达式求值,编译器在程序中插入指令,取的a的值,并把它与整型的长度(也就是4)相乘,这个乘法需要花费一定的时间和空间2、int array[10], *ap;for (ap = array; ap { *ap =转载 2015-07-22 11:36:26 · 7206 阅读 · 2 评论 -
类C语言编译器设计、源码及资料汇编(一)
我相信有不少的人对编译器的有很大兴趣,但是虎书(《编译原理》)上的理论知识虽然很全面很详细,但是相当的枯燥无味,让人难以下决心钻研。我就是被虎书吓坏了,各种看不懂(本人非CS专业,全靠自己啃)。。。《程序语言设计》也太厚了,后来在图书馆找书的时候,发现了一本适合入门PLT的书籍,拥有基本的C语言、操作系统和数据结构的功底就能完全看懂的书籍。这本书叫《自己动手写编译器链接器》,建议想了解PL...原创 2018-04-11 20:56:38 · 9537 阅读 · 2 评论 -
类C语言编译器设计、源码及资料汇编(二)
3.语法分析器语法分析器是整个环节比较主要的一环,大部分的任务都是由其承担。在前面的基础知识提到过语法分析的基本方法,由于递归子程序手工构造比较简便,故本设计使用的是递归子程序法。由于在实现递归时,要考虑是否有递归的出口,因此需要提取左公共因子,降低递归深度。在语法分析的时候,不仅需要考虑到语法分析程序的高效性和简洁性,在降低耦合性的同时需要注意函数的之间的联系。语法分析时,可能文法的描述很简便,...原创 2018-04-12 22:47:53 · 2059 阅读 · 1 评论