顺序表的基本操作.doc

顺序表的基本操作.doc

ID:48017561

大小:29.09 KB

页数:50页

时间:2020-01-18

顺序表的基本操作.doc_第1页
顺序表的基本操作.doc_第2页
顺序表的基本操作.doc_第3页
顺序表的基本操作.doc_第4页
顺序表的基本操作.doc_第5页
资源描述:

《顺序表的基本操作.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、顺序表的基本操作/*sqList.h文件*/#defineLIST_INIT_SIZE50/*初始分配的顺序表长度*/#defineINCREM10/*溢出时,顺序表长度的增量*/#defineOVERFLOW1#defineOK0#defineERROR-1typedefintElemType;/*定义表元素的类型*/typedefstructSqList{ElemType*elem;/*存储空间的基地址*/intlength;/*顺序表的当前长度*/intlistsize;/*当前分配的存储空间*/}SqList;/*sqListOp.h文件*/#include"Sqlist.h"intI

2、nitList_sq(SqList&L);//顺序表创建函数定义voidFreeList_sq(SqList&L);//顺序表销毁函数定义intListInsert_sq(SqList&L,inti,ElemTypee);//在顺序表的位置i插入元素evoidPrintList_sq(SqList&L);//遍历并输出顺序表所有元素intListDelete_sq(SqList&L,inti,ElemType&e);//删除顺序表第i个元素的boolListEmpty(SqList&L);//判断顺序表是否为空intLocateElem_sq(SqListL,ElemTypee);//在顺序表

3、里查找出第1个与e相等的数据元素位置//已知线性表La和Lb的元素按值非递减排列//归并后的La和Lb得到新的顺序线性表Lc,Lc的元素也是按值非递减排列voidMergeList_sq(SqListLa,SqListLb,SqList&Lc);/*sqListOp.cpp文件*/#include#include#include#include"sqlistOp.h"//创建顺序表intInitList_sq(SqList&L){L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemTyp

4、e));if(!L.elem)exit(OVERFLOW);/*初始化失败,返回0*/L.length=0;/*置空表长度为0*/L.listsize=LIST_INIT_SIZE;/*置初始空间容量*/returnOK;/*初始化成功,返回1*/}/*InitList*///销毁顺序表voidFreeList_sq(SqList&L){if(L.elem)free(L.elem);printf("完成链表内存销毁");}//在顺序表的第i个位置之前插入新元素intListInsert_sq(SqList&L,inti,ElemTypee){intk;if(i<1

5、

6、i>L.length+

7、1)returnERROR;/*插入位置不合法*/if(L.length>=L.listsize){/*存储空间满,重新分配空间*/L.elem=(ElemType*)realloc(L.elem,(LIST_INIT_SIZE+INCREM)*sizeof(ElemType));if(!L.elem)returnOVERFLOW;/*存储分配失败*/L.listsize+=INCREM;/*修改存储空间大小*/}for(k=L.length-1;k>=i-1;k--){/*插入位置之后元素后移*/L.elem[k+1]=L.elem[k];}L.elem[i-1]=e;/*插入元素*/L.l

8、ength++;/*顺序表长度加1*/returnOK;}/*ListInsert*///遍历并输出顺序表所有元素voidPrintList_sq(SqList&L){if(!L.elem)return;inti=0;for(i=0;i

9、

10、i>L.length)returnERROR;/*删除位置不合法*/e=L.elem[i-1];for(k=i-1;k

11、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。