第三周项目二 “顺序表”算法库

来源:互联网 发布: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;}
知识点总结:

算法库的建立与工程的使用。

学习心得:

刚开始建立算法库感觉很麻烦,但还是坚持自己做,完成后很有成就感。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 户口转西安医保怎么办 户口迁移后医保怎么办? 户口迁移医保卡怎么办 户口迁走了社保怎么办 户口转外省社保怎么办 户口迁出后医保怎么办 户口迁移行驶证怎么办 身份证改了驾照怎么办 迁户口后身份证怎么办 户口迁出后驾照怎么办 在异地学驾照怎么办 户口迁移后 驾照怎么办 无驾照开车违章怎么办 身份证地址错了怎么办 学生迁户口学籍怎么办 买新车临时牌怎么办 户口迁移换驾照怎么办 户口迁了身份证怎么办 户口迁移了医保怎么办 房屋卖了户口怎么办 驾照过期注销了怎么办 负全责不赔偿怎么办 青岛驾驶证过期了怎么办 驾驶证过了年检怎么办 驾驶证审证逾期怎么办 d驾驶证3年没捡怎么办 c1驾驶证3年没审怎么办 驾驶证换证外地怎么办 考驾驶证快到期怎么办 驾照到期人在国外怎么办 驾驶证3年没审怎么办c3 驾驶证几年没审怎么办 驾照体检过期了怎么办 b2驾照超过年检怎么办 驾驶证过审一年怎么办 驾照一年未年审怎么办 b驾照年审过期怎么办 摩托车驾驶证过期一年怎么办 驾驶证过期一年半怎么办 驾照过期了几天怎么办 驾照过期超过一年怎么办