
数据结构
文章平均质量分 63
huangyuxiaoge
天蝎座的程序媛
展开
-
数据结构-回文数
回文是指正读反读均相同的字符序列,如"abba"和"abdba"均是回文,但"good"不是回文。试写一个算法判定给定的字符向量是否为回文。(提示:将一半字符入栈)。原创 2014-10-29 16:59:13 · 6427 阅读 · 4 评论 -
链队的基本操作
/***链队的基本操作***/#includeusing namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2typedef int QElemType;typedef int Status;typedef struct QNode{ QElemType data; struct QNode *next;原创 2014-10-24 13:39:12 · 758 阅读 · 0 评论 -
用栈实现大整数的相加与相减
#include using namespace std;#define MAXSIZE 100typedef int Selemtype;typedef int Status;#define OK 1#define ERROR 0#define OVERFLOW -2 typedef struct{ Selemtype *top; Selemtype *base; int原创 2014-10-26 00:39:40 · 861 阅读 · 0 评论 -
数据结构——线性表的插入
/*顺序表的插入利用前面的实验先建立一个顺序表L={21,23,14,5,56,17,31}然后在第i个位置插入元素68。注意如何取到第i个元素,在插入过程中注意溢出情况以及数组的下标与位序本程序实现的是在第i个元素之前插入新的元素(顺序表中元素的次序)的区别。*/原创 2014-09-25 15:17:06 · 3433 阅读 · 0 评论 -
数据结构-顺序表的初始化
//顺序表的初始化#include #include //#define OK 1;#define OVERFLOW -2#define MAXSIZE 100//顺序表可能达到的最大长度 typedef int Status;//Status是函数的类型,其值是函数结果状态代码,如OK等 typedef int ElemType;//ElemType是线性表中数据元原创 2014-09-24 17:12:44 · 45047 阅读 · 3 评论 -
顺序表的查找
#include #include #define MAXSIZE 10#define OK 0#define OVERFLOAT -2typedef int Status;typedef float ElemType;typedef struct{ ElemType *elem; int length;}SqList;Status InitList_Sq(SqList &原创 2014-09-24 21:49:50 · 1065 阅读 · 0 评论 -
带头结点的中序线索化
//算法5.8 带头结点的中序线索化#includeusing namespace std;//二叉树的二叉线索类型存储表示typedef struct BiThrNode{ char data; //结点数据域 struct BiThrNode *lchild,*rchild; //左右孩子指针 int LTag,RTag;}BiThrNode,*BiThr原创 2014-11-30 00:54:14 · 1570 阅读 · 0 评论 -
以结点p为根的子树中序线索化
//算法5.7以结点p为根的子树中序线索化#include using namespace std;//二叉树的二叉线索类型 typedef char Telemtype;typedef struct BiThrNode{ Telemtype data; struct BiThrNode *lchild,*rchild; int LTag,RTag; }BiThrNode,*Bi原创 2014-11-30 00:52:18 · 1850 阅读 · 1 评论 -
依次输出链表中的各个结点的递归算法
/***依次输出链表中的各个结点***/#includeusing namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status;typedef char ElemType;typedef struct LNode{ ElemType data; //结点的数据域 LNode *原创 2014-10-25 23:22:47 · 2284 阅读 · 1 评论 -
字符串匹配算法BF
/***字符串匹配算法***/#include#includeusing namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status;#define MAXSTRLEN 255//用户可在255内定义最大长度 typedef char SString[MAXSTRLEN+1];/原创 2014-10-26 20:15:50 · 1206 阅读 · 1 评论 -
顺序栈的实现
/***顺序栈的实现***/#include#include//顺序栈定义#define OK 1#define ERROR 0#define OVERFLOW -2#define MAXSIZE 100typedef int Status;typedef int SElemType;typedef struct{ SElemType *base; SElemType原创 2014-10-22 15:38:20 · 4791 阅读 · 0 评论 -
循环队列基本操作
/***循环队列基本操作***/#includeusing namespace std;#define MAXQSIZE 100#define OK 1#define ERROR 0#define OVERFLOW -2typedef int QElemType;typedef int Status;typedef struct{ QElemType *base; int原创 2014-10-24 13:41:32 · 639 阅读 · 0 评论 -
用栈链实现数值转换
/***链栈实现数制的转换***/#includeusing namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status;typedef int Selemtype;typedef struct StackNode{ int data; struct StackNode *nex原创 2014-10-22 17:03:52 · 1550 阅读 · 0 评论 -
单链表的就地置换
假设struct LINK { int value; struct LINK * next;};struct LINK a, b, c, d;a->next = &b;b->next = &c;c->next = &d;d->next = 0;逆置后:b->next = &a;c->next = &b;d->next = &c;a->next = 0;#inc原创 2014-10-20 13:56:22 · 1097 阅读 · 0 评论 -
数据结构——线性表的删除
#include using namespace std;#define ERROR 0#define OK 0#define MAXSIZE 100typedef int Status;typedef int elemtype;typedef struct{ int length; elemtype elem[MAXSIZE];}SqList;Status IntiList原创 2014-09-25 20:47:54 · 965 阅读 · 0 评论 -
单链表的基本操作
#include using namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status;typedef int elemtype;typedef struct LNode{ //单链表的存储结构 elemtype date; //结点的数据域 struct LNo原创 2014-10-13 15:34:55 · 816 阅读 · 0 评论 -
设计一个算法,通过一趟遍历在单链表确定最大的结点
#include using namespace std;typedef int Status;typedef int elemtype;#define OK 1#define ERROR 0 typedef struct LNode{ elemtype data; struct LNode *next;}LNode,*LinkList;void CreateList_L(原创 2014-10-20 14:02:46 · 35077 阅读 · 2 评论 -
Hanoi塔问题的算法
/***Hanoi塔问题***/#includeusing namespace std;int m = 0;//(m是初值为0的全局变量,对搬动计数)void move(char A,int n,char C) // 搬动操作{ cout<<"第"<<++m<<"步,"<<"将编号为"<<n<<"的圆盘从第"<<A<<"个柱子上移到第"<<C<<"个柱子上"<<endl;}//原创 2014-10-25 23:43:50 · 1207 阅读 · 0 评论 -
字符串匹配算法KMP
/***字符串匹配算法***/#include#includeusing namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status;#define MAXSTRLEN 255 //用户可在255以内定义最长串长typedef char SString[MAXSTRLEN+原创 2014-10-26 20:12:23 · 599 阅读 · 0 评论 -
线性表的基本验证程序
#include using namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2#define MAXSIZE 108typedef int Status;typedef int elemtype;typedef struct{ elemtype *elem; int length;}SqList;Sta原创 2014-09-27 12:13:50 · 717 阅读 · 0 评论 -
构造赫夫曼树
//算法5.10构造赫夫曼树#include using namespace std;//-----赫夫曼树的存储表示----typedef struct{ int weight; int parent,lchild,rchild;}HTNode,*HuffmanTree;void Select(HuffmanTree HT,int len,int &s1,int &s2){原创 2014-11-30 00:57:59 · 1359 阅读 · 1 评论 -
遍历中序线索二叉树
//算法5.9 遍历中序线索二叉树#includeusing namespace std;//二叉树的二叉线索类型存储表示typedef struct BiThrNode{ char data; //结点数据域 struct BiThrNode *lchild,*rchild; //左右孩子指针 int LTag,RTag;}BiThrNode,*BiThr原创 2014-11-30 00:55:33 · 3483 阅读 · 1 评论 -
二叉链表的建立、遍历,二叉树的深度、总结点、复制、叶结点总数
#includeusing namespace std;//二叉树的二叉链表存储表示typedef struct BiNode{ char data; //结点数据域 struct BiNode *lchild,*rchild; //左右孩子指针}BiTNode,*BiTree;//建立二叉链表void CreateBiTree(BiTree &T){原创 2014-10-26 20:18:53 · 4483 阅读 · 2 评论 -
学生课堂经验值管理系统
#include #include using namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status;typedef struct LNode{ //单链表的存储结构 string no; string name; int jyz; //结点的数据域原创 2014-10-18 21:38:04 · 1680 阅读 · 0 评论 -
学生课堂经验值管理系统2
#include#includeusing namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status; typedef int ElemType;typedef struct LNode{ string name;//姓名 long no;//学号 ElemTy原创 2014-10-19 18:29:54 · 1539 阅读 · 0 评论 -
二叉排序树
//算法7.4 二叉排序树的递归查找//算法7.5 二叉排序树的插入//算法7.6 二叉排序树的创建//算法 7.7 二叉排序树的删除#includeusing namespace std;#define ENDFLAG '#'//char a[10]={'5','6','7','2','1','9','8','10','3','4','#'};//全局变量typedef stru原创 2014-12-07 22:57:50 · 1140 阅读 · 0 评论