第三周项目2 建设“顺序表”算法库
2017-09-17 22:07
393 查看
/*
*Copyright (c) 2017,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:第三周项目2 建设“顺序表”算法库
*作 者:葛惠文
*完成日期:2017年9月19日
*版 本 号:v1.0
* 问题描述:领会“0207将算法变程序”部分建议的方法,建设自己的专业基础设施算法库。
这一周,建的是顺序表的算法库。
*/
*Copyright (c) 2017,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:第三周项目2 建设“顺序表”算法库
*作 者:葛惠文
*完成日期:2017年9月19日
*版 本 号:v1.0
* 问题描述:领会“0207将算法变程序”部分建议的方法,建设自己的专业基础设施算法库。
这一周,建的是顺序表的算法库。
*/
list.h
#ifndef LIST_H #define LIST_H #define MaxSize 50 typedef int ElemType; typedef struct { ElemType data[MaxSize]; int length; }SqList; void CreateList(SqList *&L,ElemType a[],int n); void InitList(SqList *&L); void DestroyList(SqList *&L); bool ListEmpty(SqList *L); int ListLength(SqList *L); 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); #endif // LIST_H
list.cpp
#include "list.h" #include <stdio.h> #include <malloc 4000 .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; } //初始化线性表InitList void InitList(SqList *&L) { L=(SqList *)malloc(sizeof(SqList)); L->length=0; } //销毁线性表DestroyList void DestroyList(SqList *&L) { free(L); } //判定是否为空表ListEmpty bool ListEmpty(SqList *L) { return(L->length==0); } //求线性表的长度ListLength int ListLength(SqList *L) { return(L->length); } //输出线性表DispList void DispList(SqList *L) { int i; if(ListEmpty(L)) return; for(i=0;i<L->length;i++) printf("%d",L->data[i]); printf("\n"); } //求某个数据元素值GetElem bool GetElem(SqList *L,int i,ElemType &e) { if(i<1 || i>L->length) return false; e=L->data[i-1]; return true; } //按元素值查找LocateElem 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; } //插入数据元素ListInsert bool ListInsert(SqList *&L,int i,ElemType e) { int j; if(i<1 || i>L->length+1) return false; i--; for(j=L->length;j>i;j--) L->data[j]=L->data[j-1]; L->data[i]=e; L->length++; return true; } //删除数据元素ListDelete bool ListDelete(SqList *&L,int i,ElemType &e) { int j; if(i<1 || i>L->length) return false; i--; e=L->data[i]; for(j=i;j<L->length-1;j++) L->data[j]=L->data[j+1]; L->length--; return true; }
main.cpp
#include "include/list.h" //include/list.h表示list.h文件在include路径下的,所以要声明一下 int main() { SqList *sq; ElemType x[6]={5,8,7,2,4,9}; CreateList(sq,x,6); DispList(sq); return 0; }
相关文章推荐
- 第三周项目二—建设“顺序表”算法库
- 第三周项目2---建设“顺序表”算法库
- 第三周-项目2 - 建设“顺序表”算法库
- 第三周项目2--建设”顺序表“算法库
- 第三周上机实践—项目2 —建设“顺序表”算法库
- 第三周项目2--建设“顺序表”的算法库
- 第三周项目2 建设“顺序表”算法库
- 第三周 项目 2 建设“顺序表”算法库(补)
- 第三周项目2-建设“顺序表”算法库
- 第三周项目2—建设“顺序表”算法库
- 第三周项目2-建设“顺序表”算法库
- 第三周项目二 建设”顺序表“算法库
- 第三周项目2-建设“顺序表”算法库
- 第三周项目2 建设 顺序表 算法库
- 第三周项目2 - 建设“顺序表”算法库
- 第三周项目2-建设“顺序表”算法库
- 第三周 项目2 - 建设“顺序表”算法库
- 第三周项目2 建设“顺序表”算法库
- 第三周项目2 建设“顺序表”算法库
- 第三周项目二-建设“顺序表”算法库