- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 数据结构之简单四则运算表达式求值8-(栈的实现)
利用栈实现简单的四则运算,有待提升的地方有,不支持负数的运算,只支持0-9之间数值的计算 代码如下 #include #include #include using namespace std; void InfixToPostfix(string &str1, string &str2, stack &s) { char ch, temp; for (size_t i = 0;
2015-09-15 17:34:45
2648
原创 数据结构之栈的链式存储7-(入栈,出栈等)
本次操作采用不带头结点的头插法,方便在栈顶进行入栈和出栈操作 代码如下 //栈只限于在末尾插入或者删除,建立头插法不带头结点方法较简单实现 #include #include using namespace std; template struct Node{ T data; Node *next; }; template class LinkStack{ private: N
2015-09-14 14:40:03
730
原创 数据结构之栈的顺序存储6-(入栈,出栈等)
用数组实现基本栈的操作,思路还是挺简单的,代码如下 //当栈顶指针top为0的时候为空栈 top == stacksize时栈满 #include #include using namespace std; template class SqStack{ private: T *base = NULL; int top; //栈顶指针 int stacksize; //站容
2015-09-14 12:01:48
645
原创 数据结构之一元多项式运算操作5-(加,减,乘,化简)
此操作实现一元多项式的基本操作 代码如下 #include #include #include using namespace std; struct PolyNode{ float coef; //存放系数 int exp; //存放指数 PolyNode *next; }; class Poly{ private: PolyNode *head = NU
2015-09-12 20:44:31
790
原创 数据结构之双向循环链表操作4-(插入,删除,建立等)
双向循环链表的每一个结点都保存两个指针,一个指向前驱,一个指向后继,此次演示其插入,删除,建立等 //双向循环链表的实现,在插入与删除操作与单链表不同 //而涉及单方向指针操作时与单向链表差不多 #include #include using namespace std; template struct Node{ //结点 T data; Node *next; Node
2015-09-10 22:25:54
923
原创 数据结构之循环链表操作3-(合并,拆分,插入,删除,建立等)
单向循环链表的基本操作与单向链表有很多相似的,差别在于链表结束的判断条件,最后一个结点不再是指向NULL,而是指向头结点,将头尾连起来 代码如下关键在于判断链表终止的条件尾元素->头结点 #include #include using namespace std; template struct Node{ //结点 T data; Node *next; }; templat
2015-09-10 15:13:03
542
原创 数据结构之线性表的顺序结构操作2-(删除,插入,查值等)
线性表的顺序存储难点应该在于删除和插入操作。当要进行插入操作时,需要将待插入位置到最后位置的元素依次往后移位,应该从后往前操作。而删除操作需要将待删除的位置的前一位到最后位置的元素依次往前移动移位,将待删除的元素覆盖掉,应该从前往后操作#include using namespace std; template class SqList{ private: T *elem; int l
2015-09-08 17:40:19
592
原创 数据结构之单向链表操作1-(插入,删除,交换,反转,排序等操作)
第一次写博客,也是为了激励自己学习,可能还不太懂(~ ̄▽ ̄)~,而且代码上可能还有些不太足,敬请赐教!!! 如标题所示,这次演示单向链表的一些基本的操作,有些地方可能没有考虑周到,ORZ~ 首先是些基本的声明如下 template struct Node{ //结点 T data; Node * next; }; template class LinkList{ pr
2015-09-08 14:07:21
1731
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人