树(普通树)

树(普通树)
数据结构树的代码实现,代码参考数据结构使用教程(第二版): [cpp]struct GTreeNode {     ElemType data;     GTreeNode *t[k];    //k叉树 } void CreateGTree(GTreeNode *&GT,char *a)//广义表构造普通树 {     const int MS=10;    //定义符号常量指定栈空间的大小     GTreeNode *s[MS];   //s数组作为存储树中结点指针的栈使用     int d[MS];          //d数组作为储存孩子结点链接到双亲节点    ...

二叉树

二叉树
二叉树抽象数据类型|二叉树实现代码|二叉树C/C++实现代码! 二叉树 其广义表为:A(B(C),D(E(F,G),H(,I))) [cpp] /*算法参考《数据结构实用》教程第二版*/ /*根据广义表建立二叉树*/ struct BTreeNode { ElemType data; BTreeNode *left; BTreeNode *right; }; void InitBTree(BTreeNode *&BT) //初始化二叉树 { BT=NULL; } void CreateBTree(BTreeNode *&BT,char *a) //建立二叉树 { const int Maxs...

链式队列

链式队列
链式队列的抽象数据类型,链式队列数据结构实现代码: 链式队列,front头指针,rear尾指针,QNode为单个元素结点 [cpp] struct QNode { ElemType data; QNode *next; }; struct Queue { QNode front; QNode rear; }; void Init(Queue &Q) { Q.front=Q.rear=new QNode;//头结点 Q.front->next=NULL; } void Destory(Queue &Q) { while(Q.front) { Q.rear=Q.front->next; delete Q.front; Q.front...

循环队列

循环队列
循环队列的抽象数据类型,循环队列数据结构实现代码: 循环队列,front头指针,rear尾指针,queue申请内存 [cpp] #define MaxSize 100 struct Queue { ElemType *queue; int front,rear; }; void Init(Queue &Q) { Q.queue=new Queue[MaxSize]; Q.front=Q.rear; } int Length(Queue Q) { return (Q.rear-Q.front+MaxSize)%MaxSize; } bool Insert(Queue &Q,ElemType t) { if((Q.rear+1)%MaxSize==Q....

逆波兰式

逆波兰式
逆波兰式,也叫后缀表达式(将运算符写在操作数之后)! 利用STL栈将中缀表达式转换成后缀表达式 [cpp] #include <iostream> #include <string> #include <stack> using namespace std; int first(char ch) { switch(ch) { case '+': case '-':return 1; case '*': case '/':return 2; case '(': case '@': default: return 0; } } void change(string &s1,string &s2) { stack<c...

栈
栈实现,栈链式,栈顺序,栈链式存储,栈顺序存储,栈实现代码,栈数据结构实现,栈c/c++实现,其实大家可以直接调用stl栈! 抽象数据类型: [cpp] void InitStack(SNode *&HS) { HS=NULL; } void Push(SNode *&HS,ElemType item) { SNode *newpt=new SNode; newpt->data=item; newpt->next=HS; HS=newpt; } ElemType Pop(SNode *&HS) { //检测空否?处理 SNode *p=HS; HS=HS->next; ElemType te...

集合

集合
集合实现,集合链式,集合顺序,集合链式存储,集合顺序存储,集合实现代码,集合数据结构实现,集合c/c++实现 1.集合的顺序存储结构 [cpp] struct Set { ElemType *set; int len; int MaxSize; }; void InitSet(Set &S)//初始化集合 { S.MaxSize=10; S.set=new ElemType[10]; if(!S.set) { cout<<"memory is use up!"<<endl; exit(1); } S.len=0; } void ClearSet(Set &S)//清空集合 { if(S....

线性表

线性表
线性表,线性表实现,线性表,线性表链式,线性表顺序存储,线性表链表,线性表数组 顺序表包括两种存储方式: 1.顺序存储,随机读取(顺序表). 2.随机存储,顺序读取(链式表) [cpp] //1.顺序存储 //顺序存储线性表 #include <iostream> #include <stdlib.h> using namespace std; typedef int ElemType; struct List { ElemType *list; int size; int MaxSize; }; void InitList(List &L)//初始化...
Copyright © C/C++程序员之家 保留所有权利.   Theme  Ality 浙ICP备15011757号-3

用户登录