数据结构与算法
akonlbjrd
这个作者很懒,什么都没留下…
展开
-
数据结构线性表之顺序表实现
<br />#include <iostream>using namespace std;#define INITSIZE 100 //初始化大小#define INCREMENT 10 //增量大小template<typename T>class Sqlist{public: void Init(); //初始化 void Destory(); //销毁 void Clear(); //清空 bool IsEmpty(); //是否为空原创 2011-03-08 21:49:00 · 2592 阅读 · 1 评论 -
单链表的实现(包括就地逆转单链表,表排序, 合并单链表、判断表是否有环)
#include using namespace std;/////////结点///////struct Node{ int data; //数据 Node* next;//下一个结点 };/////////////单链表/////////class LinkList{public: void Init(); void Create(int n); //创建带n个数据的单链表 void Dis(); //输出结果 bool原创 2011-03-09 23:19:00 · 2230 阅读 · 0 评论 -
二叉树的三种遍历方法(递归和非递归)(转载)
<br />#include<iostream>#include<stack> //STL#include<queue>using namespace std;class Tree{public: Tree *Left; Tree *Right; char data; Tree(); //成员函数 void CreateTree(Tree* &node); //递归的遍历二叉树 void PreOrderVisit(Tree *T); void原创 2011-03-10 17:24:00 · 4737 阅读 · 0 评论 -
高精度算法一:加法和减法
#include #include using namespace std;#define MAXSIZE 100////高精度算法struct Data { int len; //数据长度 int s[MAXSIZE]; // 保存数据数组};void StringToData(const string& s, Data& d) //将string 转换为Data{ if (s.size() == 0) { retu原创 2011-03-12 17:36:00 · 3878 阅读 · 1 评论 -
模式匹配的KMP算法详解
<br />这种由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现的改进的模式匹配算法简称为KMP算法。大概学过信息学的都知道,是个比较难理解的算法,今天特把它搞个彻彻底底明明白白。<br />注意到这是一个改进的算法,所以有必要把原来的模式匹配算法拿出来,其实理解的关键就在这里,一般的匹配算法:<br />int Index(String S,String T,int pos)//参考《数据结构》中的程序<br />{<br /> i=pos;j=1;//这里的串的第1个元素下标是1转载 2011-03-12 22:07:00 · 632 阅读 · 0 评论 -
查找算法总结之顺序查找、二分查找、静态树查找
<br />#include <iostream>using namespace std;//顺序查找, 平均查找长度为(n + 1)/2int search_sq(int array[], int array_len, int key) { for (int i = 0; i < array_len; ++i) { if (key == array[i]) { return i; } } return -1;}//二分查找,平均原创 2011-03-14 17:22:00 · 3505 阅读 · 0 评论 -
冒泡排序、堆排序等常用算法总结
<br /><br /> <br /> 代码如下<br /> #include <iostream>using namespace std;///////常用排序算法实现/////////插入排序void InsertSort(int array[], int len){ for (int j = 1; j < len; ++j) { if (array[j] < array[j - 1]) // 小于则插入 { int insert =原创 2011-03-18 12:00:00 · 1023 阅读 · 0 评论