- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                  
          胡 洁 《用C语言设计顺序表的相关函数》       第 PAGE 10页    共16 页     
用C语言设计顺序表的相关函数库
学生姓名:胡洁  指导老师:黄敏
摘  要  本课程设计主要是设计顺序表的相关函数库,以便在程序设计中调用。在此课程设计中,系统开发平台为Windows XP,程序设计语言采用面向过程的程序设计的C语言,程序运行平台为Visual C++  6.0。在程序设计中,采用了结构化与面向过程两种解决问题的方法。程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以应用在商业中解决实际问题。
关键词  顺序表;程序设计;函数库;Visual C++ 6.0
1 引 言
本课程设计主要解决的是设计顺序表的相关函数,以便在程序调用中调用,进行顺序表中元素的输入、查找、取出、删除等操作的课程设计。
顺序表是线性表的顺序存储,是指在内存中用一段地址连续的存储空间来依次顺序存放线性表中的各元素的存储方式。其逻辑上与物理上均相邻,不会增加额外的存储开销;顺序表具有按序号随机访问的特点,采取直接存取结构,若提供序号访问数据元素,则其算法简洁、快速、易读、易懂。[1][2]
1.1 课程设计目的
训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题;
初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。
1.2 课程设计任务和要求
任务:
       设计出顺序表结构的相关函数库,以便在程序设计中调用。
(2)要求:
       ①包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由);
       ②最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来;
       ③给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。
2 数据库中的函数
2.1 函数库中函数清单
在此课程设计中主要是设计顺序表的函数库,以便于调用,其函数清单如表2-1所示。
表2-1 顺序表函数库清单
函数声明
功能声明
int Insert_Seqlist();
插入一个元素到顺序表中,若空间已满及插入位置无效报错,否则插入成功。
int Delete_Seqlist();
删除顺序表中的一个元素,若表为空及删除位置不合法报错,否则删除成功。
int Locate_Seqlist();
若查找元素存在,则返回元素存储位置。
int Get_Seqlist();
若查找元素存在,则返回元素下标。
void print();
输出顺序表中的所有元素。
2.2 函数实现的具体算法列举
(1)插入函数:
int Insert_Seqlist(Seqlist *L,int i,datatype e){ int j; if(L-len==MAXSIZE-1)
{printf(表满溢出\n);return -1;}      /*表空间已满,不能插入*/ if(i1||iL-len+2)                 /*检查插入位置i是否有效*/ { printf(位置错\n);return 0;} for(j=L-len;j=i-1;j--) L-data[j+1]=L-data[j];             /*节点往后移动一个位置*/ L-data[i-1]=e;                       /*插入新元素e*/ L-len++;                            /*len仍指向最后一个元素*/ return 1;                             /*插入操作成功,返回*/}
(2)删除函数:
int Delete_Seqlist(Seqlist *L,int i){ int j; if(i1||iL-len+1)                  /*检查空表及删除位置的合法性*/ { printf(不存在第d%个元素\n,i);return 0;} for(j=i;jL-len;j++) L-data[j-1]=L-data[j];            /*向前移动一个位置*/ L-len--; return 1;                             /*删除成功*/}
(3)取出一个元素函数:
int Get_Seqlist(Seq
                 原创力文档
原创力文档 
                        

文档评论(0)