第三周项目二 “顺序表”算法库
来源:互联网 发布:matlab for mac 2014b 编辑:程序博客网 时间:2024/06/06 00:01
/* 文件名称:顺序表算法库作 者:胡德杰 完成日期:2017年9月20号 版 本 号:v1.1.4*/list.cpp
#include"list.h"void InitList(SqList *&L) //初始化列表{ L=(SqList *)malloc(sizeof(SqList)); L->length=0;}void DestroyList(SqList *&L) //销毁列表{ free(L);}bool ListEmpt(SqList *&L) //判断是不是空列表{ return (L->length==0); }int ListLength(SqList *&L) //求列表长度{ return (L->length);}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; }}bool ListDelete(SqList *&L,int i,ElemType &e) //删除数据元素{ int j; if (i<1 || i>L->length) //参数错误时返回false return false; i--; //将顺序表逻辑序号转化为物理序号 e=L->data[i]; for (j=i; j<L->length-1; j++) //将data[i..n-1]元素前移 L->data[j]=L->data[j+1]; L->length--; //顺序表长度减1 return true; //成功删除返回true}bool ListInsert(SqList *&L,int i,ElemType e) //插入数据元素{ int j; if (i<1 || i>L->length+1) return false; //参数错误时返回false i--; //将顺序表逻辑序号转化为物理序号 for (j=L->length; j>i; j--) //将data[i..n]元素后移一个位置 L->data[j]=L->data[j-1]; L->data[i]=e; //插入元素e L->length++; //顺序表长度增1 return true; //成功插入返回true}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;}bool GetElem(SqList *L,int i,ElemType e) //求某个数据元素值{ if (i<1 || i>L->length) return false; e=L->data[i-1]; return true;}void DispList(SqList *&L) //显示列表{ if(ListEmpt(L)) return ; int i; for(i=0;i<(L->length);i++) { printf("%d \n",L->data[i]); }}list.h
#include"stdio.h"#include"malloc.h"#define MaxSize 50typedef int ElemType;typedef struct{ ElemType data[MaxSize]; int length;}SqList;void InitList(SqList *&L); //初始化列表void DestroyList(SqList *&L); //销毁列表bool ListEmpt(SqList *&L) ; //判断是不是空列表int ListLength(SqList *&L) ; //求列表长度void CreateList(SqList *&L,ElemType a[],int n); //创建列表。void DispList(SqList *&L) ; //显示列表bool GetElem(SqList *L,int i,ElemType e); //按元素值查找int LocateElem(SqList *L, ElemType e); //按元素值查找bool ListInsert(SqList *&L,int i,ElemType e); //插入数据元素bool ListDelete(SqList *&L,int i,ElemType e); //删除数据元素main.cpp
#include"list.h"int main(){ SqList *sq; ElemType x[6]={5,8,7,2,4,9}; CreateList (sq,x,6); DispList(sq); return 0;}知识点总结:
算法库的建立与工程的使用。
学习心得:
刚开始建立算法库感觉很麻烦,但还是坚持自己做,完成后很有成就感。
阅读全文
0 0
- 第三周项目二顺序表算法库
- 第三周项目二 建立“顺序表”算法库
- 第三周项目二 建设“顺序表”的算法库
- 第三周项目二建设“顺序表”算法库
- 第三周项目二 建设“顺序表”算法库
- 第三周项目二 建设”顺序表“算法库
- 第三周项目而二--建设“顺序表”算法库
- 第三周 项目二-建设“顺序表”算法库
- 第三周【项目二-建设“顺序表”算法库】
- 第三周项目二 建设“顺序表”算法库
- 第三周项目二 建立顺序表的算法库
- 第三周项目二 建设“顺序表”算法库
- 第三周项目二顺序表算法库
- 第三周项目二-建设“顺序表”算法库
- 第三周项目二--建设“顺序表”算法库
- 第三周 项目二 -建设“顺序表”算法库
- 第三周项目二顺序表算法库
- 第三周项目二 建立“顺序表”算法库
- c面试题,那些简单问题里的陷阱!
- Mysql导入excel数据,解决某些字符乱码问题
- spring事务管理
- opencv中ostu算法
- xilinx下载模式
- 第三周项目二 “顺序表”算法库
- Webrtc穿透转发通讯2-windows
- spoj 1812 LCS2(SAM+DP)
- 【SDK使用】sdk print方式
- 第三周项目一(2)
- 45.Scala中Context Bounds代码实战及其在Spark中的应用源码解析
- Spring bean的加载过程
- 汽车结构
- 前端之微信小程序总结