《李春葆 数据结构源代码》
第1章为绪论;第2章为线性表;第3章为栈和队列;第4章为串;第5章为递归;第6章为数组和广义表;第7章为树和二叉树;第8章为图;第9章为查找;第10章为内排序;第11章为外排序;第12章为文件;第13章为采用面向对象的方法描述算法,介绍面向对象的概念和采用C+语言描述数据结构算法的方法。
—Miss. Z—
Good Good Study,Day Day Up
展开
-
《数据结构教程(李春葆主编 第五版)》第十章源代码—排序
顺序表基本运算算法(seqlist.cpp)#include <stdio.h>#define MAXL 100 //最大长度typedef int KeyType; //定义关键字类型为inttypedef char InfoType;typedef struct{ KeyType key; //关键字项 InfoType data; //其他数据项,类型为InfoType} RecType; //查找元素的类型void swap(RecType x,RecT原创 2021-10-03 06:30:00 · 1751 阅读 · 0 评论 -
《数据结构教程(李春葆主编 第五版)》第九章源代码—查找
顺序表基本运算算法(seqlist.cpp)#include <stdio.h>#define MAXL 100 //最大长度typedef int KeyType; //定义关键字类型为inttypedef char InfoType;typedef struct{ KeyType key; //关键字项 InfoType data; //其他数据项,类型为InfoType} RecType; //查找元素的类型void CreateList(RecType原创 2021-10-02 06:30:00 · 1268 阅读 · 0 评论 -
《数据结构教程(李春葆主编 第五版)》第八章源代码—图(Part II)
Kruskal(克鲁斯卡尔)算法#include "graph.cpp"#define MaxSize 100typedef struct { int u; //边的起始顶点 int v; //边的终止顶点 int w; //边的权值} Edge;void InsertSort(Edge E[],int n) //对E[0..n-1]按递增有序进行直接插入排序{ int i,j; Edge temp; for (i=1;i<n;i++) {原创 2021-10-01 06:30:00 · 1118 阅读 · 0 评论 -
《数据结构教程(李春葆主编 第五版)》第八章源代码—图(Part I)
图的基本运算算法(graph.cpp)#include <stdio.h>#include <malloc.h>//图的两种存储结构#define INF 32767 //定义∞#define MAXV 100 //最大顶点个数typedef char InfoType;//以下定义邻接矩阵类型typedef struct{ int no; //顶点编号 InfoType info; //顶点其他信息} VertexType;原创 2021-09-30 06:30:00 · 3258 阅读 · 0 评论 -
《数据结构教程(李春葆主编 第五版)》第七章源代码—树和二叉树
二叉树的基本运算算法#include <stdio.h>#include <malloc.h>#define MaxSize 100typedef char ElemType;typedef struct node { ElemType data; //数据元素 struct node *lchild; //指向左孩子节点 struct node *rchild; //指向右孩子节点} BTNode;void CreateBTree(BTNode * &原创 2021-09-29 06:30:00 · 3295 阅读 · 2 评论 -
《数据结构教程(李春葆主编 第五版)》第六章源代码—数组和广义表
稀疏矩阵的三元组表示算法#include <stdio.h>#define M 6#define N 7#define MaxSize 100 //矩阵中非零元素最多个数typedef int ElemType;typedef struct{ int r; //行号 int c; //列号 ElemType d; //元素值} TupNode; //三元组定义typedef struct { int rows;原创 2021-09-28 07:34:11 · 744 阅读 · 0 评论 -
《数据结构教程(李春葆主编 第五版)》第四章源代码—串
顺序串基本运算的算法#include <stdio.h>#define MaxSize 100typedef struct{ char data[MaxSize]; int length; //串长} SqString;void StrAssign(SqString &s,char cstr[]) //字符串常量赋给串s{ int i; for (i=0;cstr[i]!='\0';i++) s.data[i]=cstr[i]; s.length=i;原创 2021-09-27 08:19:01 · 913 阅读 · 4 评论 -
《数据结构教程(李春葆主编 第五版)》第三章源代码—栈和队列
顺序栈基本运算算法#include <stdio.h>#include <malloc.h>#define MaxSize 100typedef char ElemType;typedef struct { ElemType data[MaxSize]; int top; //栈指针} SqStack; //顺序栈类型void InitStack(SqStack *&s){ s=(SqStack *)malloc(sizeof(SqS原创 2021-09-26 06:46:26 · 2017 阅读 · 2 评论 -
《数据结构教程(李春葆主编 第五版)》第二章源代码—线性表
线性表的应用:两个表的简单自然连接的算法#include <stdio.h>#include <malloc.h>#define MaxCol 10 //最大列数typedef int ElemType;typedef struct Node1 //数据结点类型{ ElemType data[MaxCol]; struct Node1 *next; //指向后继数据结点} DList;typedef struct Node2 //头结点类型{原创 2021-09-25 18:06:46 · 2476 阅读 · 2 评论