学习笔记---数据结构
文章平均质量分 67
笑对人生Charles
这个作者很懒,什么都没留下…
展开
-
学习笔记------数据结构(C语言版)链表应用~一元多项式求和
//Polynomial.cpp#include"predefined.h"#include"Polynomial.h"#include"ExtenLinkedList.h"void CreatPolyn(polynomial *P,int m)//算法2.22:输入m项的系数和指数,建立表示一元多项式的有序链表。{ Position h; Link q; int i; E原创 2016-01-15 19:27:59 · 2169 阅读 · 0 评论 -
学习笔记------数据结构(C语言版) 串的模式匹配
//KMP.cpp#include"predefined.h"#include"SequenceString.h"Status Index(SString S,SString T,int pos)//算法4.5:T为非空串。若主串S中第pos个字符之后存在与T相等的子串,//则返回第一个这样的子串在S中的位置,否则返回0{ int i,j; i=pos; j=1; whil原创 2016-02-15 12:11:43 · 1160 阅读 · 0 评论 -
学习笔记------数据结构(C语言版) 扩展的线性单链表及归并
//Function realization.cpp#include"predefined.h"#include"ExtenLinkedList.h"Status MakeNode_E(Link *p,ElemType e)//分配由p指向的值为e的结点,并返回OK;//若分配失败,则返回ERROE。{ (*p)=(Link)malloc(sizeof(LNode)); if(!原创 2016-01-15 09:23:13 · 1168 阅读 · 1 评论 -
学习笔记------数据结构(C语言版)栈应用 行编辑程序
//SqStack.cpp#include "predefined.h"#include "SqStack.h"Status InitStack(SqStack *S)//构造一个空栈{ (*S).base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType)); if(!(*S).base) exit(OVERFLOW);原创 2016-02-02 11:20:52 · 805 阅读 · 0 评论 -
学习笔记------数据结构(C语言版)栈应用 迷宫寻路
Status MazePath(MazeType maze[][N],PosType start,PosType end)//若迷宫maze中存在从入口start到出口end的通道,则求得一条存放在栈中//(从栈底到栈顶),并返回TRUE;否则返回FALSE。{ SqStack S; PosType curpos; int curstep; SElemType e; InitSta原创 2016-02-03 18:02:51 · 1078 阅读 · 0 评论 -
学习笔记------数据结构(C语言版)栈应用 表达式求值
//main.cpp#include "predefined.h"#include "SqStack.h"SElemType EvaluateExpression();SElemType GetTop_OPTR(SqStack S);Status In(SElemType c);SElemType Precede(SElemType c1,SElemType c2);SElemT原创 2016-02-04 12:17:57 · 1394 阅读 · 1 评论 -
学习笔记------数据结构(C语言版)栈和递归 汉诺塔
//main.cpp#include "predefined.h"#include "SqStack.h"int c=0;void move(char a,int m,char b);void hanoi(int n,char x,char y,char z);int main(){ int n=5; char x='x'; char y='y'; char z='z';原创 2016-02-04 17:27:08 · 804 阅读 · 1 评论 -
学习笔记------数据结构(C语言版)数组的顺序存储
//SqArray.cpp#include"predefined.h"#include"SqArray.h"Status InitArray(Array *A,int dim,...)//若维数dim和随后的各维长度合法,则构造相应的数组A,并返回OK{ int i,elemtotal; if(dimMAX_ARRAY_DIM) return ERROR; (*A).dim=原创 2016-02-17 22:14:30 · 1101 阅读 · 0 评论 -
学习笔记------数据结构(C语言版)数组之三元组顺序表
//TSMatrix.cpp#include"predefined.h"#include"TSMatrix.h"Status TransposeSMatrix(TSMatrix M,TSMatrix *T)//算法5.1:采用三元组表存储表示,求稀疏矩阵M的转置矩阵T{ int q,p,col; (*T).mu=M.mu; (*T).nu=M.nu; (*T).tu=M.tu原创 2016-02-18 18:51:22 · 4163 阅读 · 0 评论 -
学习笔记------数据结构(C语言版)数组之行逻辑链接的顺序表
//RLSMatrix.cpp#include"predefined.h"#include"RLSMatrix.h"Status MultSMatrix(RLSMatrix M,RLSMatrix N,RLSMatrix *Q)//算法5.3:求矩阵乘积Q=M*N,采用行逻辑链接存储表示{ int arow,tp,p,brow,t,q,ccol,i,ctemp[10]; if(M原创 2016-02-18 20:40:05 · 1026 阅读 · 0 评论 -
学习笔记------数据结构(C语言版)串的堆分配存储表示
//HeapString.cpp#include"predefined.h"#include"HeapString.h"void InitString(HString *S)//初始化S为空串{ (*S).ch=NULL; (*S).length=0;}Status StrAssign(HString *T,char *chars)//生成一个其值等于串常量chars的串原创 2016-02-13 20:44:44 · 1646 阅读 · 0 评论 -
学习笔记------数据结构(C语言版)串的定长顺序存储表示
//SequenceString.cpp#include"predefined.h"#include"SequenceString.h"Status StrAssign(SString T,char *chars)//生成一个其值等于chars的串T{ int i,len; len=strlen(chars); if(len>MAXSTRLEN) return ERROR原创 2016-02-13 09:31:36 · 2526 阅读 · 0 评论 -
学习笔记------数据结构(C语言版) 队列的顺序存储/循环队列
//SqQueue.cpp#include"predefined.h"#include"SqQueue.h"Status InitQueue (SqQueue *Q)//构造一个空队列Q{ (*Q).base=(QElemType *)malloc(MAXQSIZE*sizeof(QElemType)); if(!(*Q).base) exit(OVERFLOW); (*Q)原创 2016-02-06 18:40:28 · 881 阅读 · 0 评论 -
学习笔记------数据结构(C语言版)进制转换
void conversion()//算法3.1:对于输入的任意一个非负十进制数,打印输出与其等值的八进制数{ SqStack S; int N; SElemType m; InitStack(&S); printf("▲请输入要转换的十进制数:"); scanf("%d",&N); while(N) { m=N%8; Push(&S,m); N=N/8; }原创 2016-01-19 19:56:23 · 1135 阅读 · 0 评论 -
学习笔记------数据结构(C语言版)栈的顺序存储
//SqStack.cpp#include "predefined.h"#include "SqStack.h"Status InitStack(SqStack *S)//构造一个空栈{ (*S).base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType)); if(!(*S).base) exit(OVERFLOW);原创 2016-01-19 17:29:06 · 796 阅读 · 0 评论 -
学习笔记------数据结构(C语言版)栈应用 括号匹配
//main.cpp#include "predefined.h"#include "SqStack.h"void PrintElem(SElemType *p){ printf("%d ",*p);}int main(){ char *s="{[(1+3)*(6+7)]/(9+8)}"; printf("★判断表达式%s括号是否匹配...\n",s); Bracket_原创 2016-01-19 21:19:41 · 809 阅读 · 0 评论 -
学习笔记------数据结构(C语言版) 线性表链式存储
//Function realization.cpp#include "predefined.h"#include"lianshijiegou.h"//----线性表的动态分配链式存储结构函数实现---------Status InitList_L(LinkList *L)//构造一个带头结点的空线性表{ (*L)=(LinkList)malloc(sizeof(LNode));原创 2016-01-08 21:27:09 · 1454 阅读 · 1 评论 -
学习笔记------数据结构(C语言版) 线性表顺序存储
//hanshushixian.cpp#include "yudingyi.h"#include "shunxujiegou.h"//----线性表的动态分配顺序存储结构函数实现---------Status InitList(SqList *L)//构造一个空的线性表{ (*L).elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(Elem原创 2016-01-03 11:00:03 · 1322 阅读 · 3 评论 -
学习笔记------数据结构(C语言版) 静态链表
//Function realization.cpp#include"predefined.h"#include"StaticLinkedList.h"extern SLinkList space;void InitSpace_SL()//算法2.14:将一维数组space中各分量链成一个备用链表,(*space)[0].cur为头指针。{ for(int i=0;i<MAXSIZ原创 2016-01-11 15:09:00 · 1307 阅读 · 0 评论 -
学习笔记------数据结构(C语言版)队列链式存储
//LinkQueue.cpp#include"predefined.h"#include"LinkQueue.h"Status InitQueue(LinkQueue *Q)//构造一个新队列Q{ (*Q).front=(*Q).rear=(QueuePtr)malloc(sizeof(QNode)); if(!(*Q).front) exit(OVERFLOW); (*(原创 2016-02-05 17:36:38 · 629 阅读 · 0 评论 -
学习笔记------数据结构(C语言版) 双循环链表
//Function realization.cpp#include"predefined.h"#include"DoubleLinkList.h"Status ListInsert_DuL(DuLinkList *L,int i,ElemType e)//算法2.18:在带头结点的双链循环线性表L中第i个位置之前插入元素e,//i的合法值为1<=i<=表长+1。{ DuLinkL原创 2016-01-12 11:20:06 · 704 阅读 · 0 评论 -
学习笔记------数据结构(C语言版)数组之十字链表
//CrossList.cpp#include"predefined.h"#include"CrossList.h"Status InitSMatrix(CrossList *M) /* 加 */ { /* 初始化M(CrossList类型的变量必须初始化,否则创建、复制矩阵将出错) */ (*M).rhead=(*M).chead=NULL; (*M).mu=(*原创 2016-02-19 11:36:22 · 1098 阅读 · 0 评论