数据结构中顺序表的基本操作_第1页
数据结构中顺序表的基本操作_第2页
数据结构中顺序表的基本操作_第3页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/头文件#include#include #include/函数返回状态代码#define ok 1#define error 0#define true 1#define false 0#define infeasible -1#define overflow -2/运用动态分配的顺序存储结构#define list_init_size 100#define listincrement 10typedef int elemtype; typedef structelemtype *elem; int length;int listsize;sqlist;-可编辑修改 -typedef int status;status initlist(sqlist &l)/初始化一个顺序表l.elem=(elemtype *)malloc(list_init_size*sizeof(elemtype); if(!l.elem) exit(overflow);l.length=0;l.listsize=list_init_size; return ok;/initsqliststatus listinsert(sqlist &l,int i,elemtype e)/在第 i 个元素前插入一个新的元素if(i +l.length) return error; if(l.length=l.listsize)elemtype*newbase=(elemtype*)realloc(l.elem,(list_init_size+listincrement)*sizeof(elemtype); if(!newbase) exit(overflow);l.elem=newbase;l.listsize=list_init_size+listincrement;/勿忘for (int j=l.length; j=i; -j)/此处要注意l.elemj=l.elemj-1; l.elemi-1=e;return ok;/listinsertstatus getelem(sqlist l,int i,elemtype &e)/返回顺序表中的第i 个元素if(il.length) return error; e=l.elemi-1;return ok;/getelemstatus listdelete(sqlist &l,int i,elemtype &e)/删除顺序表中的第i 个元素if(il.length) return error;e=l.elemi-1; for(i;il.length;i+)l.elemi-1=l.elemi;-l.length; return ok;/listdeletestatus priorelem(sqlist l,elemtype cur_e,elemtype &pre_e)/返回一个不是首元素的前驱int i=2;if(cur_e=l.elem0) return error; while(i=l.length&(l.elemi-1!=cur_e)i+;if(i=l.length+1) return error; else pre_e=l.elemi-2;return ok;/priorelemstatus nextelem(sqlist l,elemtype cur_e,elemtype &next_e)/返回一个不是末元素的后继int i=1;while(il.length&(l.elemi-1!=cur_e) i+;if(i=l.length) return error; else next_e=l.elemi;return ok;/nextelemstatus listempty(sqlist l)/判断顺序表是否为空return l.length = 0;/listemptystatus listlength(sqlist l)/求顺序表的长度return l.length;/listlengthstatus destroylist(sqlist &l)/销毁一个顺序表if (l.elem)free(l.elem);l.elem=n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论