第三周项目二 建设“顺序表”算法库
来源:互联网 发布:淘宝客软件怎么下载 编辑:程序博客网 时间:2024/05/22 01:42
问题:算法库包括两个文件:
头文件:list.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明;
源文件:list.cpp,包含实现各种算法的函数的定义
头文件:list.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明;
源文件:list.cpp,包含实现各种算法的函数的定义
请采用程序的多文件组织形式,在项目1的基础上,建立如上的两个文件,另外再建立一个源文件,编制main函数,完成相关的测试工作。
头文件:
#include <stdio.h>#include <malloc.h>#define MaxSize 50 //Maxsize将用于后面定义存储空间的大小typedef int ElemType; //ElemType在不同场合可以根据问题的需要确定,在此取简单的inttypedef struct{ ElemType data[MaxSize]; //利用了前面MaxSize和ElemType的定义 int length;} SqList;
//自定义函数声明部分void CreateList(SqList *&L, ElemType a[], int n);//用数组创建线性表void DispList(SqList *L);//输出线性表DispList(L)bool ListEmpty(SqList *L);//判定是否为空表ListEmpty(L)int ListLength(SqList *L); //求线性表的长度ListLength(L)bool GetElem(SqList *L,int i,ElemType &e); //求某个数据元素值GetElem(L,i,e)int LocateElem(SqList *L, ElemType e); //按元素值查找LocateElem(L,e)定义各函数
定义算法库各函数:
#include <stdio.h>#include <malloc.h>//用数组创建线性表void CreateList(SqList *&L, ElemType a[], int n){ int i; L=(SqList *)malloc(sizeof(SqList)); for (i=0; i<n; i++) L->data[i]=a[i]; L->length=n;}//输出线性表DispList(L)void DispList(SqList *L){ int i; if (ListEmpty(L)) return; for (i=0; i<L->length; i++) printf("%d ",L->data[i]); printf("\n");}//判定是否为空表ListEmpty(L)bool ListEmpty(SqList *L){ return(L->length==0);}//求线性表的长度ListLength(L)int ListLength(SqList *L){ return(L->length);}//求某个数据元素值GetElem(L,i,e)bool GetElem(SqList *L,int i,ElemType &e){ if (i<1 || i>L->length) return false; e=L->data[i-1]; return true;}//按元素值查找LocateElem(L,e)int LocateElem(SqList *L, ElemType e){ int i=0; while (i<L->length && L->data[i]!=e) i++; if (i>=L->length) return 0; else return i+1;}
主函数声明:int main(){ SqList *sq; InitList(sq); ListInsert(sq, 1, 5); ListInsert(sq, 2, 3); ListInsert(sq, 1, 4); DispList(sq); return 0;}
阅读全文
0 0
- 第三周项目二 建设“顺序表”的算法库
- 第三周项目二建设“顺序表”算法库
- 第三周项目二 建设“顺序表”算法库
- 第三周项目二 建设”顺序表“算法库
- 第三周项目而二--建设“顺序表”算法库
- 第三周 项目二-建设“顺序表”算法库
- 第三周【项目二-建设“顺序表”算法库】
- 第三周项目二 建设“顺序表”算法库
- 第三周项目二 建设“顺序表”算法库
- 第三周项目二-建设“顺序表”算法库
- 第三周项目二--建设“顺序表”算法库
- 第三周 项目二 -建设“顺序表”算法库
- 第三周项目二—建设“顺序表”算法库
- 第三周项目二 建设“顺序表”算法库
- 第三周 项目二建设“顺序表”算法库
- 第三周 项目二 建设“顺序表”算法库
- 第三周项目二 建设“顺序表”算法库
- 第三周项目二 建设“顺序表”算法库
- 使用QT界面进行onetnet数据上传与下载
- 工程实践调研报告
- 设计一个有 getMin功能的栈
- swagger使用,与SpringMVC合并
- Qt信号与槽
- 第三周项目二 建设“顺序表”算法库
- mysql服务器拒绝连接
- 25. Reverse Nodes in k-Group
- 三次样条插值
- Linux下php安装Redis扩展
- HDU
- 更多想法与代码分享
- 压力测试
- 计算机网络 自顶向下方法 第二章 应用层