数据结构与算法
文章平均质量分 75
miechalzhao
这个作者很懒,什么都没留下…
展开
-
判断字符串是否对称
#include #include #define MAX 100 typedef struct stack { char data[MAX]; int top; }SeqStack; void InitStack(SeqStack *&s) { s=(SeqStack*)malloc(sizeof(SeqStack)); s->top =-1; } void C原创 2010-04-11 18:14:00 · 1631 阅读 · 2 评论 -
简单移位加密
//#include #include #include const int MAX=100; //using namespace std; class SampleReplace { public: SampleReplace(){ch='/0';memset(temp,0,sizeof(temp));}; ~SampleReplace(){}; void DoEncr原创 2010-03-29 17:35:00 · 3204 阅读 · 0 评论 -
图片加密解密程序
原创程序,若要转载,请标明转载出处....谢谢! #include #include #include #include #define WIDTHBYTES(bits) (((bits)+31)/32*4) typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned long DWORD;原创 2010-03-29 17:37:00 · 3056 阅读 · 3 评论 -
双向链表Class-template
//double LinkList implement with C++ template #include using namespace std; /*template class DBListADT { public: virtual void Append(const Type &)=0; virt原创 2011-01-01 20:28:00 · 1591 阅读 · 0 评论 -
算术表达式求值
#include#includeusing namespace std;const int MAXSIZE=100;typedef struct stack{ char data[MAXSIZE]; int top;}SeqStack;typedef struct Stack{ int data[MAXSIZE]; int top;}SeqIntStack;typedef struct queue{ char data[MAXSIZE]; int rear,front;}Queue;///////////原创 2011-01-03 14:22:00 · 1421 阅读 · 0 评论 -
编译原理(递归下降分析程序)
#include #include #include using namespace std; int i=0; string nexttoken; char ch; void A(); void A1(); void read() { ch= nexttoken[++i]; } void error() { cout不是本文法的句型!原创 2009-11-11 19:10:00 · 3064 阅读 · 0 评论 -
一道有趣的GOOGLE算法题
问题描述: 一个大小为n的数组,里面的数都属于范围[0, n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空间和O(n)时间。 如果没有时间,空间的要求,那解法会相当的多,hash table,STL当中的set等都可以很方便的解决。网上大多的解法是基于基数排序,还有标记法。本人由于兴趣,采用交换标记法,代码如下: #include #include bool Rep原创 2012-12-01 23:01:28 · 2815 阅读 · 0 评论 -
编译原理(词法分析程序)
#include #include #include #include void Scaner();//词法分析扫描函数 int IsRetainLetters(char *ch);//判断是否为保留字 char * DecimalToBinary(char *buf);//十进制转二进制函数 char GetCh(FILE *fp);//读取文件中的字符,每次只读取一个字原创 2009-11-11 19:18:00 · 2176 阅读 · 0 评论 -
编译原理(预测分析法)
#include #include #include #include #define MAXSIZE 100 typedef struct //定义顺序栈 { int data[MAXSIZE]; int top;//栈顶指针 }SeqStack; SeqStack *s;//定义一个指向顺序栈的指针变量 void Scaner();//词法分析扫描函数 vo原创 2009-11-12 21:51:00 · 3630 阅读 · 12 评论 -
动态数组对比STL vector及其实现(c/c++)
c/c++动态数组动态数组 顾名思义能 动态增加内存的数组。 STL标准库中的vector具有类似的功能,c标准库的realloc也具有类似的功能,那为何还需要自己实现动态内存方式呢?对于追求效率,和有重要性能需求的我们来说,实现动态数组能让我们的程序运行的更有效率,下面分别谈一下vector 和realloc. 1.vector 再STL标准库的实现当中,vector内存不够时,会动态的原创 2012-11-20 11:29:03 · 7568 阅读 · 0 评论 -
全排列算法c++实现
问题: Given a collection of numbers, return all possible permutations. For example, [1,2,3] have the following permutations: [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], and [3,2,1]. Solution: #incl原创 2012-11-21 18:45:39 · 2068 阅读 · 0 评论 -
图片加密解密程序2
#include #include #include #include typedef unsigned char BYTE; typedef unsigned short WORD; void ECBencrypto(char *in_fname,char *password,char *out_fname); void CBCencrypto(char *in_fname,c原创 2010-04-03 16:58:00 · 1956 阅读 · 1 评论