Data Structure And Algorithms
文章平均质量分 72
dfreng
这个作者很懒,什么都没留下…
展开
-
main1-1.cpp 检验基本操作bo1-1.cpp的主函数
#include"c1.h" // 要将程序中所有#include命令所包含的文件拷贝到当前目录下 // 以下2行可根据需要选用一个(且只能选用一个),而不需改变基本操作bo1-1.cpp typedef int ElemType; // 定义抽象数据类型ElemType在本程序中为整型 //typedef double ElemType; // 定义抽象数据类型原创 2008-10-19 03:29:00 · 534 阅读 · 0 评论 -
algo1-1.cpp 计算1-1/x+1/x*x…
// algo1-1.cpp 计算1-1/x+1/x*x… #include #include void main() { timeb t1,t2; long t; double x,sum=1,sum1; int i,j,n; printf("请输入x n:"); scanf("%lf%d",&x,&n);原创 2008-10-19 03:23:00 · 434 阅读 · 0 评论 -
bo2-4.cpp设立尾指针的单循环链表(存储结构由c2-2.h定义)的12个基本操作
// bo2-4.cpp 设立尾指针的单循环链表(存储结构由c2-2.h定义)的12个基本操作 void InitList(LinkList &L) { // 操作结果:构造一个空的线性表L L=(LinkList)malloc(sizeof(LNode)); // 产生头结点,并使L指向此头结点 if(!L) // 存储分配失败 exit(O原创 2008-10-19 03:48:00 · 778 阅读 · 0 评论 -
bo2-8.cpp 不带头结点的单链表(存储结构由c2-2.h定义)的部分基本操作(9个)
// bo2-8.cpp 不带头结点的单链表(存储结构由c2-2.h定义)的部分基本操作(9个) #define DestroyList ClearList // DestroyList()和ClearList()的操作是一样的 void InitList(LinkList &L) { // 操作结果:构造一个空的线性表L L=NULL; // 指针为空原创 2008-10-19 03:52:00 · 1371 阅读 · 0 评论 -
func2-1.cpp && func2-2.cpp && func2-3.cpp
// func2-3.cpp 几个常用的函数 Status equal(ElemType c1,ElemType c2) { // 判断是否相等的函数 if(c1==c2) return TRUE; else return FALSE; } int comp(ElemType a,ElemType b原创 2008-10-19 03:55:00 · 670 阅读 · 0 评论 -
main2-01~2-08.cpp 线性表检验主程序
// main2-6.cpp 检验bo2-6.cpp的主程序 #include"c1.h" typedef int ElemType; #include"c2-5.h" #include"bo2-6.cpp" #include"func2-3.cpp" // 包括equal()、comp()、print()、print2()和print1()函数原创 2008-10-19 04:14:00 · 626 阅读 · 0 评论 -
algo3-01~3-13.cpp 栈和队列主程序
// algo3-9.cpp 用递归函数求解迷宫问题(求出所有解) #include"c1.h" // 根据《PASCAL程序设计》(郑启华编著)中的程序改编 #include"func3-1.cpp" // 定义墙元素值为0,可通过路径为-1,通过路径为足迹 void Try(PosType cur,int curstep) { // 由当前位置cur、当前步原创 2008-10-19 04:48:00 · 1258 阅读 · 0 评论 -
c1.h (程序名) && c1-1.h 采用动态分配的顺序存储结构
// c1.h (程序名) #include #include #include // malloc()等 #include // INT_MAX等 #include // EOF(=^Z或F6),NULL #include // atoi() #include // eof() #include // floor(),ceil(),abs(原创 2008-10-19 03:16:00 · 657 阅读 · 0 评论 -
bo2-31.cpp 一个数组只生成一个静态链表(数据结构由c2-3.h定义)的基本操作(11个))
// bo2-31.cpp 一个数组只生成一个静态链表(数据结构由c2-3.h定义)的基本操作(11个)),包括算法2.13 #define DestroyList ClearList // DestroyList()和ClearList()的操作是一样的 void InitList(SLinkList L) { // 构造一个空的链表L,表头为L的最后一个单元L[MAX原创 2008-10-19 03:45:00 · 657 阅读 · 0 评论 -
bo2-6.cpp 具有实用意义的线性链表(存储结构由c2-5.h定义)的24个基本操作
// bo2-6.cpp 具有实用意义的线性链表(存储结构由c2-5.h定义)的24个基本操作 void MakeNode(Link &p,ElemType e) { // 分配由p指向的值为e的结点。若分配失败,则退出 p=(Link)malloc(sizeof(LNode)); if(!p) exit(ERROR); p->dat原创 2008-10-19 03:51:00 · 1530 阅读 · 1 评论 -
bo3-01~09.cpp 栈和队列算法
// bo3-9.cpp 顺序非循环队列(存储结构由c3-4.h定义)的基本操作(4个) int QueueLength(SqQueue2 Q) { // 返回Q的元素个数,即队列的长度 return(Q.rear-Q.front); } void EnQueue(SqQueue2 &Q,QElemType e) { // 插入元素e为Q的新的队尾元素原创 2008-10-19 04:39:00 · 537 阅读 · 0 评论 -
bo4-01~03.cpp 串 算法
// bo4-1.cpp 串采用定长顺序存储结构(由c4-1.h定义)的基本操作(13个),包括算法4.2,4.3,4.5 // SString是数组,故不需引用类型 #define DestroyString ClearString // DestroyString()与ClearString()作用相同 Status StrAssign(SString原创 2008-10-19 05:24:00 · 656 阅读 · 0 评论 -
bo1-1.cpp 抽象数据类型Triplet和ElemType(由c1-1.h定义)的基本操作(8个)
// bo1-1.cpp 抽象数据类型Triplet和ElemType(由c1-1.h定义)的基本操作(8个) Status InitTriplet(Triplet &T,ElemType v1,ElemType v2,ElemType v3) { // 操作结果:构造三元组T,依次置T的3个元素的初值为v1,v2和v3 if(!(T=(ElemType *)m原创 2008-10-19 03:22:00 · 898 阅读 · 0 评论 -
func5-1.cpp && bo5-1~bo5-6.cpp s 数组和广义表 算法
// func5-1.cpp 广义表的书写形式串为SString类型,包括算法5.8。bo5-5.cpp和bo5-6.cpp调用 #include"c4-1.h" // 定义SString类型 #include"bo4-1.cpp" // SString类型的基本操作 void sever(SString str,SString hstr) // 算法5.8改。原创 2008-10-19 11:21:00 · 779 阅读 · 0 评论 -
c5-1~c5-6.h 数组和广义表 存储表示
// c5-1.h 数组的顺序存储表示 #include // 标准头文件,提供宏va_start,va_arg和va_end, // 用于存取变长参数表 #define MAX_ARRAY_DIM 8 // 假设数组维数的最大值为8 struct Array { ElemType *base; // 数组元素原创 2008-10-19 11:13:00 · 542 阅读 · 0 评论 -
bo2-2.cpp 带有头结点的单链表(存储结构由c2-2.h定义)的基本操作(12个)
// bo2-2.cpp 带有头结点的单链表(存储结构由c2-2.h定义)的基本操作(12个),包括算法2.8,2.9,2.10 void InitList(LinkList &L) { // 操作结果:构造一个空的线性表L L=(LinkList)malloc(sizeof(LNode)); // 产生头结点,并使L指向此头结点 if(!L) // 存储分原创 2008-10-19 03:44:00 · 1194 阅读 · 0 评论 -
algo2-01~2-13.cpp 线性表-主程序的实现
// algo2-9.cpp 尽量采用bo2-31.cpp中的基本操作实现算法2.17的功能 #include"c1.h" #define N 2 typedef char ElemType; #include"c2-3.h" #include"func2-2.c原创 2008-10-19 04:00:00 · 1136 阅读 · 0 评论 -
c3-01~05.h 栈和队列的存储表示
// c3-1.h 栈的顺序存储表示 #define STACK_INIT_SIZE 10 // 存储空间初始分配量 #define STACK_INCREMENT 2 // 存储空间分配增量 struct SqStack { SElemType *base; // 在栈构造之前和销毁之后,base的值为NULL SElemType *to原创 2008-10-19 04:29:00 · 593 阅读 · 0 评论 -
algo4-01~04.cpp 串 主程序
// algo4-1.cpp 实现算法4.6、4.7、4.8的程序 #include"c1.h" #include"c4-1.h" #include"bo4-1.cpp" void get_next(SString T,int next[]) { // 求模式串T的next函数值并存入数组next。算法4.7 int i=1,j=0; n原创 2008-10-19 05:27:00 · 631 阅读 · 0 评论 -
algo1-4.cpp 说明exit()函数作用的程序
// algo1-4.cpp 说明exit()函数作用的程序 #include"c1.h" int a(int i) { if(i==1) { printf("退出程序的运行/n"); exit(1); } return i; } void main() { int i; printf原创 2008-10-19 03:27:00 · 540 阅读 · 0 评论 -
线性表--存储结构分析(结构体定义)
// c2-1.h 线性表的动态分配顺序存储结构 #define LIST_INIT_SIZE 10 // 线性表存储空间的初始分配量 #define LIST_INCREMENT 2 // 线性表存储空间的分配增量 struct SqList { ElemType *elem; // 存储空间基址 int length; // 当前长度原创 2008-10-19 03:35:00 · 1243 阅读 · 0 评论 -
bo2-1.cpp 顺序表示的线性表(存储结构由c2-1.h定义)的基本操作(12个)
// bo2-1.cpp 顺序表示的线性表(存储结构由c2-1.h定义)的基本操作(12个),包括算法2.3,2.4,2.5,2.6 void InitList(SqList &L) // 算法2.3 { // 操作结果:构造一个空的顺序线性表L L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));原创 2008-10-19 03:42:00 · 921 阅读 · 0 评论 -
bo2-32.cpp 一个数组可生成若干静态链表(数据结构由c2-3.h定义)的基本操作(12个)
// bo2-32.cpp 一个数组可生成若干静态链表(数据结构由c2-3.h定义)的基本操作(12个),包括算法2.14 #define DestroyList ClearList // DestroyList()和ClearList()的操作是一样的 void InitSpace(SLinkList L) // 算法2.14。另加 { // 将一维数组L中各分量链成原创 2008-10-19 03:46:00 · 748 阅读 · 0 评论 -
func3-01~03.cpp 栈和队列函数
// func3-1.cpp algo3-5.cpp、algo3-9.cpp和algo3-11.cpp要调用的函数、结构和全局变量 struct PosType // 迷宫坐标位置类型 { int x; // 行值 int y; // 列值 }; #define MAXLENGTH 25 // 设迷宫的最大行列为25 typede原创 2008-10-19 04:36:00 · 674 阅读 · 0 评论 -
main3-01~3-08.cpp 栈和队列-检验主程序
// main3-8.cpp 循环且可增加存储空间的顺序队列,检验bo3-8.cpp的主程序 #include"c1.h" typedef int QElemType; #include"c3-4.h" #include"bo3-4.cpp" // 基本操作(1),与非循环同 #include"bo3-8.cpp" // 基本操作(2),与非循原创 2008-10-19 05:07:00 · 1258 阅读 · 0 评论 -
c4-1.h 串 存储表示
// c4-1.h 串的定长顺序存储表示 #define MAX_STR_LEN 40 // 用户可在255(1个字节)以内定义最大串长 typedef char SString[MAX_STR_LEN+1]; // 0号单元存放串的长度 // c4-2.h 串的堆分配存储 struct HString { char *ch; // 若是非空原创 2008-10-19 05:22:00 · 463 阅读 · 0 评论 -
main5-1~main5-6.cpp 数组和广义表 检验算法的主程序
// main5-1.cpp 检验bo5-1.cpp的主程序 #include"c1.h" typedef int ElemType; #include"c5-1.h" #include"bo5-1.cpp" void main() { Array A; int i,j,k,*p,dim=3,bound1=3,bound2=4原创 2008-10-19 11:35:00 · 613 阅读 · 0 评论