
C++与算法
csumck
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于C++中函数指针的使用
关于C++中函数指针的使用(包含对typedef用法的讨论) (一)简单的函数指针的应用。//形式1:返回类型(*函数名)(参数表) char (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFun)(2); } 第一行定义了一个指针变量pFun。首先我们根据前面提到的原创 2004-10-28 20:02:00 · 2225 阅读 · 0 评论 -
使用flex和bison编写logo语言的编译器
昨天刚刚返校,好久没做点东西,学习使用flex和bison。logo语言是一种简单的绘图语言,因为简单易用有趣味,早些时候很多小学也作为计算机启蒙课程。目前,该程序已经实现基本的命令,并支持可嵌套的循环。没有实现函数定义功能。以下是供flex使用的词法文件。%{typedef char* string;#define YYSTYPE string#include "2_tab.cp原创 2006-02-22 21:02:00 · 2312 阅读 · 0 评论 -
Linux下搭建Web服务器并用C语言编写CGI
最近一直在学习Linux学习编写CGI, 刚刚完成了一个留言本, 把自己的心得写出来与大家分享, 不正确的地方请高手指正.(一)Linux的安装. 我安装的是RedHat9(版本老了一点, Linux2.4内核), 使用KDE(感觉比GNOME漂亮), KDE中的编辑器带有多种语言的语法加亮功能, 尤其是Kate内置命令行, 用来编写程序非常的方便. Linux下的Web服务使用Apa原创 2005-11-23 15:58:00 · 14551 阅读 · 5 评论 -
COM里的设计模式
首先我声明,我是个COM菜鸟,对于COM的了解主要是来自DirectX和几本书籍,本文是目前我对COM结构的理解,错误和浮浅之处请各位看到的高手不吝赐教,谢谢了。 (1)我觉得COM中最显而易见的设计模式就是工厂模式了。在工厂模式中,要得到某种产品,用户无需知道这种产品是由哪个类创建,用户只需将需求转交给生产这种产品的工厂。下面是DirectDraw的C++代码中的一原创 2005-10-13 09:30:00 · 1425 阅读 · 0 评论 -
自己写的线程池类(使用C++,pure API,Mutex,Event)
计算机网络试验要求写一个文件传输程序。由于以前自己写的线程类和SOCKET类丢失掉了(寝室电脑被盗),现在重写这几个类,干脆就写了一个线程池,用的是C++STL和纯API。而且,为了保证这个线程类本身是线程安全的,我还使用了WinApi中的互斥量。同时仿照C#的类库,在线程类中加入了Join方法。调用线程对象Join方法的线程将等待线程对象直到执行完毕。以下是源代码。///////////////原创 2005-05-11 07:59:00 · 1897 阅读 · 3 评论 -
编译原理_词法分析部分
这学期的编译原理课语法分析已经快讲完了。整个编译器的前端主要就包括了词法分析和语法分析两个部分。现在自己开始着手用C语言写编译器的前端。以下是程序的说明。1)该程序是词法分析部分Lexical Analyse。2)只支持无符号整数类型。不支持数组和指针等高级特性。3)不支持函数。注释为C++式的“//”。4)使用VC++.NET编译。//////////////////////////////Le原创 2005-04-03 22:01:00 · 2073 阅读 · 0 评论 -
编译原理_使用哈希表给词法识别加速
昨天和同学讨论词法分析的状态机制的效率问题,我写的词法分析器查找状态是使用遍历查找,效率太低。想到在《编译原理与实践》一书中提到了使用折半查找和哈希表映射。 下面是我的转台转化机制的主要代码://状态机状态枚举typedef enum {PLUS,MINUS,MULTI,DIVIDE,NUMBER,IDENTI,JINGHAO,COMMENT,IF,ELSE,END,原创 2005-04-06 23:56:00 · 1329 阅读 · 0 评论 -
编译原理_语法分析部分
接着昨天的词法分析器,语法分析主要是将从词法分析那里得来的记号构成一棵语法树。这次我将作案的词法分析部分的代码稍作了修改,让他更适合语法分析器。我使用的是自下而上的分析法,针对算符优先文法的产生式构造语法树。 以下的代码只支持7种节点——加减乘除,标识符,数字,表达式。想要加入其他节点,在opprio数组中加入优先级。/////////////////////////原创 2005-04-04 22:59:00 · 2602 阅读 · 4 评论 -
操作系统--PCB模拟(动态优先调用与动态内存分配)
前不久因为某些原因把这篇文章删掉了,今天在次贴上。该程序使用tc2.0编译,带有图形界面和可输入命令的简易控制台源代码较长,但总共就两大部分——进程调度部分和图形界面部分。/*源代码如下:*//*多道系统动态优先级调度算法及可变大小内存分配模拟*/#include #include #include #include #include #include #include #include #d原创 2005-01-05 10:52:00 · 1754 阅读 · 0 评论 -
C++操作符重载与临时非堆变量的一次测试
今天仔细看了一下以前当参考书翻的《Effective C++》和《More Effective C++》,着重看了里面讲述关于操作符重载的种种实做方法,看着很爽,就自己实际操作了一遍。编译器使用VC++.NET 7.1,因为这个编译器对C++标准的支持达到99%。现在把测试代码和输出贴出来,供同志们交流之用。//CInt.h///////////////////////////////////#i原创 2004-12-05 17:05:00 · 954 阅读 · 0 评论 -
距离向量路由算法的c源代码
很久没来了,在学习了模式之后自己试着规划了一个图形处理软件,学过模式和没学过果真不同啊,把握软件大局的能力有了不少提高。这两个星期还抽空把计算机图形学的程序写完了。前两天又入门了一下Direct3D,大二还不知道API为何物的时候学了些DirectDraw,只记得那时候DirectDraw好难哪。现在看Direct3D完全没有那时的感觉了,只是矩阵变换的知识是大一下学期学的,现在都忘了,完全不知道原创 2004-11-20 12:38:00 · 2842 阅读 · 1 评论 -
一个系统托盘程序源代码(C语言+pure API)
今天中午写的,该程序是为我自己的电脑量身定做的,你可以把它改称适合自己电脑的东西。http://fatmck.go.nease.net/opener.zipevery rights reserve to you!晕,那个空间流量有限制,我忘记了,只好把源代码贴出来了。开发环境:VC++.NET 2003 / WinXp pro sp2////////////////////main.cpp////原创 2004-11-04 20:14:00 · 2031 阅读 · 3 评论 -
关于10月28日微创笔试中考察基础的几个题
在论坛C++版看到的面试题,拿来研究研究。1)实现string toHex(int)把一个十进制转换成十六进制。(完全用算法实现) 2)实现一个计算大位数(如100位以上)相乘结果的函数string multiply(sting,string)。(请完全用算法实现) 3.编写函数判断计算机的字节存储顺序十升序(little endian)还是是降序(bigdian)原创 2004-11-01 13:51:00 · 1523 阅读 · 2 评论 -
一点代码,关于操作符和流的,觉着自己C++还可以的来看看
这段代码不小心会看花眼的哦,这里面涉及了操作符重载和endl、setw()的实现方法,你能说出最后的输出是什么吗?6个cout,每个都不同哦~~~,看明白同学可以留下言哈,增加一下本blog的人气,哈哈。(程序在Win2000/VC++2005下编译通过) #include iostream>#include algorithm>#include vector>#include s原创 2006-08-13 13:57:00 · 1099 阅读 · 3 评论