摘要: //双向冒泡 bubble sort #include <iostream> #include <ctime> #define MAX 1000 #define N 10 using namespace std; void bubble(int* a,const int& len); inline void swap(int& x,int&... 阅读全文
posted @ 2009-11-19 18:23 leukotrichia 阅读(1328) 评论(0) 推荐(0) 编辑
摘要:   //迷宫问题 #include <iostream> #include <fstream> #include <string> #include <vector> #define mazefile "maze.txt"   using namespace std; class Escape ... 阅读全文
posted @ 2009-11-18 21:27 leukotrichia 阅读(381) 评论(0) 推荐(0) 编辑
摘要:     //生成N个介于0~(M-1)之间的 不重复的整数,按升序排列,用二分查找找到某个数字的位置并输出查找次数 #include <iostream> #include <ctime> #include <queue> #define M 10000 #define N 5000 //N必须小于等于M int Count; ... 阅读全文
posted @ 2009-11-18 17:00 leukotrichia 阅读(408) 评论(0) 推荐(0) 编辑
摘要: catch只能捕获try块内及try块内调用的函数抛出的异常 如果一个异常没有被捕获,C++将会调用terminate()函数,默认情况下,该函数将会中断程序的执行 可以使用set_terminate()函数来指定一个新的处理函数。如:set_terminate(&foo) 在程序员自定义的处理函数中抛出异常后程序直接中断 可以在catch块中再次抛出异常,但不会被catch捕获,... 阅读全文
posted @ 2009-11-18 00:27 leukotrichia 阅读(909) 评论(0) 推荐(0) 编辑
摘要:   摘录自《数据结构与原理》   #include <iostream> #include <memory>   using namespace std;   int* multi(int* num1,int size1,int* num2,int size2) { int size=size1+size2; int*... 阅读全文
posted @ 2009-11-17 22:04 leukotrichia 阅读(335) 评论(0) 推荐(0) 编辑
摘要:   本例利用栈的先进后出,后进先出的原理解决了括号()[]{}<>匹配的问题     #include <iostream> #include <stack>   using namespace std;   int main() { char ch; stack<char> s; ... 阅读全文
posted @ 2009-11-17 22:00 leukotrichia 阅读(468) 评论(0) 推荐(0) 编辑
摘要: Vigenere加密的原理: 假设有一Vigenere密钥为(2,4,8,12,7),欲对明文helloworld加密 将明文helloworld的第一个字母移动2个位置,第二个位置移动4个位置,…,第5个字母移动7个位置,然后再从密钥的头部开始循环,直到将明文hellowrold全部转换为密文   #include <iostream> #include <c... 阅读全文
posted @ 2009-11-17 20:16 leukotrichia 阅读(727) 评论(0) 推荐(1) 编辑
摘要: 摘录自《标准C++》 函数对象其实就是一种类似于函数的类的对象。 函数对象必须重载operator()函数   #include <iostream> #include <queue> #include <ctime> using namespace std; template <typename T> class MyCo... 阅读全文
posted @ 2009-11-17 17:42 leukotrichia 阅读(1473) 评论(0) 推荐(0) 编辑
摘要: 摘录自《标准C++》 STL提供了3种容器适配器,它们分别是栈(stack),队列(queue),优先级队列(priority_queue) 栈(先进后出,后进先出) 使用栈必须包含头文件<stack>,模板参数为 template<class T,class Container=deque<t> >     ... 阅读全文
posted @ 2009-11-17 16:53 leukotrichia 阅读(1523) 评论(2) 推荐(0) 编辑
摘要: 用游程编码方式实现文件的压缩具有很大的局限性,对于类似于黑白图像这样的具有连续相同的大面积颜色块的文件有很   高的效率,但是对于彩色图像或其他相邻两点的值都不同的文件来说,反而会增大数据量       #include <iostream> #include <fstream>   using namesp... 阅读全文
posted @ 2009-11-17 15:43 leukotrichia 阅读(1611) 评论(2) 推荐(3) 编辑
摘要:  //逆序输出 #include <iostream> #include <stack> #include <vector>   using namespace std;   int reverse(int num); int reverse(stack<char,vector<char> > ... 阅读全文
posted @ 2009-11-17 14:33 leukotrichia 阅读(735) 评论(0) 推荐(1) 编辑
摘要: 杨辉三角形的构造方式是将三角形每一行两边的元素置为1,其他元素为这个元素上面两个元素之和 如: 1 1  2  1 1  3  3   1 1  4  6  4  1 1  5  10  10  5  1 //杨辉三角问题 ,使用队列qu... 阅读全文
posted @ 2009-11-16 22:46 leukotrichia 阅读(328) 评论(0) 推荐(1) 编辑
摘要: 游程编码(Run Length Coding)是一种相对简单的无损压缩编码技术,它在早期的图像压缩中北广泛使用,PCX就是一种使用游程编码方式的图像格式。 它的原理是基于图像的统计特性基础,将一个相同值的连续串用一个代表值和串长来代替。 如:111111111000001100001的游程编码可以记作95241或9150214011 这种编码方式应用在具有连续相同的大面积颜色块图像中时,压缩... 阅读全文
posted @ 2009-11-16 21:53 leukotrichia 阅读(1826) 评论(0) 推荐(1) 编辑
摘要:   重载一个操作符,就是编写一个函数,当类对象按预先规定的方式使用这个运算符时,该函数就被调用。   下面列出重载操作符时必须遵循的一些规则:   不能重载用于C++内部数据类型的操作符。例如,不能重载双目整数加法运算符。 不能自己创造C++语言中不存在的操作符。例如,美元符号$不是C++中的运算符,因此不可以用来重载 除了下列操作符,其他操作符皆可被重载  ... 阅读全文
posted @ 2009-11-16 17:56 leukotrichia 阅读(407) 评论(0) 推荐(1) 编辑
摘要: 为普通的变量申请内存空间,可以使用下面的语法规则。 new int; //开辟一个存放整型变量的空间,返回一个指向整形数组的指针 new int(100); //开辟一个存放整形变量的空间,并指定其初值为100 float* p=new float(3.1415926); //开辟一个存放实数的空间,并指定该实数的初值为3.1415926, //将返回的指向实型数据的指针赋给指针变量p 当ne... 阅读全文
posted @ 2009-11-16 17:25 leukotrichia 阅读(198) 评论(0) 推荐(1) 编辑