![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
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 · 2600 阅读 · 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 · 2235 阅读 · 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 · 4767 阅读 · 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 · 3889 阅读 · 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 · 644 阅读 · 0 评论 -
查找算法总结之顺序查找、二分查找、静态树查找
<br />#include <iostream> using namespace std; //顺序查找, 平均查找长度为(n + 1)/2 int 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 · 3517 阅读 · 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 · 1058 阅读 · 0 评论