实验一 顺序表的基本操作.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一 顺序表的基本操作

PAGE \* MERGEFORMAT7 南京信息工程大学 实验(实习)报告 实验(实习)名称 顺序表的基本操作 实验(实习)日期 2012/10/19 得分 指导教师 系 计软院 专业 网络工程 年级 2011 班次 1 姓名 管超 学号 20111346032 顺序表的基本操作 实验目的 掌握线性表的顺序表基本操作:建立、插入、删除、查找、合并、打印等运算。 实验准备 奔腾2计算机或以上机型 Visual C++ 6.0 实验内容 建立一个含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度。 往该顺序表中第i位置插入一个值为e的数据元素。 从该顺序表中第i位置删除一个数据元素,由e返回。 从该顺序表中查找一个值为e的数据元素,若找到则返回该数据元素的位置,否则返回“没有找到”。 实验代码 #include stdio.h #include stdlib.h #include conio.h #include string.h #define LIST_INIT_SIZE 10 #define INCREMENT 2 typedef struct { int *elem; int length; int listsize; }SqList; //初始化顺序表 void Init_List_Sq(SqList L) { L.elem = (int *)malloc(LIST_INIT_SIZE*sizeof(int)); if (! L.elem) { printf( Memory OVERFLOW!\n); exit(0); } L.length = 0; L.listsize = LIST_INIT_SIZE; } //在顺序表中插入e void InsertList(SqList L, int i, int e) { int *newbase, *p, *q; if (i1 || iL.length+1) { printf( Location ERROR!\n); exit(0); } if (L.length = L.listsize) { newbase = (int *)realloc(L.elem, (L.listsize+INCREMENT)*sizeof(int)); if (! newbase) { printf( Memory OVERFLOW!\n); exit(0); } L.elem = newbase; L.listsize += INCREMENT; } q = (L.elem[i-1]); for (p = (L.elem[L.length-1]); p=q; --p) { *(p+1) = *p; } *q = e; ++L.length; } //在顺序表中删除e void DeleteList(SqList L, int i, int e) { int *p, *q; if ((i1) || (iL.length)) { printf( Location ERROR\n); exit(0); } p = (L.elem[i-1]); e = *p; q = L.elem + L.length -1; for (++p; p=q; ++p) { *(p-1) = *p; } --L.length; } //在顺序表中查找e int LocateElem(SqList L, int e) { int i = 1; int *p = L.elem; while (p != L.elem+L.length) { if (*p == e) { return i; } else { ++i; ++p; } } return 0; } //输出顺序表 void Output(SqList L) { int *p = L.elem; printf( List: %d, *p); ++p; while (p != L.elem+L.length) { printf( - %d, *p); ++p; } printf(\n); } int main() { char option; int address, data; SqList List; Init_List_Sq(List); while (1) { printf(\n); printf(********************\n); prin

文档评论(0)

kaiss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档