第三周项目1(3)

来源:互联网 发布:水电施工图软件 编辑:程序博客网 时间:2024/06/17 11:25
/*烟台大学计算机学院文件名称:xmyc.cpp作者:于琛完成日期:2017年9月17日问题描述:顺序表建立,插入,销毁输入描述:无输出描述:顺序表插入后*/#include <stdio.h>#include <malloc.h>#define MaxSize 50//存储空间大小宏定义typedef int ElemType;  //定义ElemType为inttypedef struct{    ElemType data[MaxSize];  //利用了前面MaxSize和ElemType的定义    int length;} SqList;void InitList(SqList *&L);bool  ListInsert(SqList *&L,int i,ElemType e);void DispList(SqList *L);bool ListEmpty(SqList *L);int main(){    SqList *sq;    InitList(sq);    ListInsert(sq, 1, 5);    ListInsert(sq, 2, 3);    ListInsert(sq, 1, 4);    DispList(sq);    return 0;}void InitList(SqList *&L)//初始化顺序表函数{    L=(SqList*)malloc(sizeof(SqList));    L->length=0;}bool ListInsert(SqList *&L,int i,ElemType e)//插入线性表函数{    int j;    if(i<1 || i>L->length+1)//判断i是否有误    {        return false;    }    i--;    for(j=L->length;j>i;j--)//后移    {        L->data[j]=L->data[j-1];    }    L->data[i]=e;//插入e    L->length++;    return true;}void DispList(SqList *L){    int i;    if (ListEmpty(L))        return;    for (i=0; i<L->length; i++)        printf("%d ",L->data[i]);    printf("\n");}//输出线性表bool ListEmpty(SqList *L){    return(L->length==0);}//判断是否为空表

运行结果:


学习心得:学会了使用顺序表的插入算法来实现顺序表的插入程序。

原创粉丝点击