数据结构线性表.doc_第1页
数据结构线性表.doc_第2页
数据结构线性表.doc_第3页
数据结构线性表.doc_第4页
全文预览已结束

下载本文档

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

文档简介

#include#define MaxLen 50typedef int elemtype;typedef elemtype sqlistMaxLen;int create(sqlist A)int i,n;cout 创建一个顺序表 endl;cout n;for (i=0;in;i+)cout 输入第 i+1 Ai;return n;#include using namespace std;#define LIST_INIT_SIZE 100/线性表存储空间的初始分配量 #define LISTINCREMENT 10/线性表存储空间的分配增量typedef int ElemType;typedef int Status;#define OK 1#define OVERFLOW -1#define ERROR -2typedef struct/用户自定义结构体SqList ElemType *elem;/指针指向存储空间基址 int length; int listsize;SqList;/线性表初始化Status Initlist_Sq(SqList &L) L.elem=(ElemType * )malloc(LIST_INIT_SIZE*sizeof(ElemType); if(!L.elem) exit(OVERFLOW); L.length =0;/空表长度为0 L.listsize=LIST_INIT_SIZE; /初始存储容量 return OK;/Put 操作Status Put(SqList &L,int n) cout向线性表中输入这n个数据:endl; for(int i=0;iL.elemi; L.length =L.length +n; return OK; /Out 操作Status Out(SqList &L,int n) for(int i=0;in;i+) coutL.elemi ; coutendl; return OK;/Insert操作int *p,*q,*e;Status ListInsert_Sq(SqList &L,int i,ElemType e) ElemType *newbase; if(iL.length+1) return ERROR;/i的值不合法 if(L.length =L.listsize) /存储空间已满,增加分配 newbase=(ElemType*)realloc(L.elem, (L.listsize+LISTINCREMENT)*sizeof(ElemType); if(!newbase)exit(OVERFLOW);/重新分配失败 L.elem=newbase; L.listsize+=LISTINCREMENT;/增加分配容量q=&(L.elemi-1);/q为插入地址for(p=&(L.elemL.length-1);p=q;-p) *(p+1)=*p;/插入元素后移*q=e;+L.length;return OK;/Delete操作Status ListDelete_Sq(SqList &L,int i,ElemType &e)if(i=L.length) return ERROR;p=&(L.elemi-1);e=*p;q=L.elem+L.length-1;for (+p;p=q;+p) *(p-1)=*p;-L.length;return OK;/Search操作int LocateElem_Sq(SqList L,ElemType f) int i=1; p=L.elem; while(i=L.length)&!(*p+)=f) i+; if(i=L.length) return i; else return 0;/主函数int main() int n,i,k,e,j,f; SqList La; Initlist_Sq(La); cout线性表中的数据个数n(n=100):n; Put(La,n); cout该线性表为:endl; Out(La,n); cout对线性表进行插入操作,请依次输入插入位置i(第i个数据之前),插入数据k:ik; ListInsert_Sq(La,i,k); cout插入后的线性表为:endl; Out(La,La.length); cout进行删除操作,请输入删除位置j:j; ListDelete_Sq(La,j,e); cout删除之后的线性表:endl; Out(La,La.len

温馨提示

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

评论

0/150

提交评论