6.11实现线性表基本操作的函数_第1页
6.11实现线性表基本操作的函数_第2页
6.11实现线性表基本操作的函数_第3页
6.11实现线性表基本操作的函数_第4页
6.11实现线性表基本操作的函数_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、本节主题:实现线性表基本操作的函数数据结构与其基本操作四类数据结构(a)集合结构(b)线性结构(c)树型结构(d)图型结构基本操作:增加、删除、修改、查找、合并数组是存储线性结构的一种方案d0 d1 d2 d3 d4 .删除指定位置上的数据/*功能:删除长度为len的arr 数组中指定位置loc上的元素入口参数: 数组名、数组大 小、要删除元素的位置返回值:删除后数组的大小*/int deleteData(int arr, int len, int loc)int i = loc;/在要删除的位置上写入其后的数据(覆盖) while(ilen-1)arri = arri+1; i+;/删除数据

2、后,数组大小缩减 len-;return len;d0d1d2 d3 d4 .#include #define SIZE 100int deleteData(int, int, int);int main()int n=10;/数组中实际有用元素int dSIZE= 1,3,9,12,32,41,45,62,75,77;int locate, i; scanf(%d, &locate);/删除locate处的数据n=deleteData(d, n, locate);/输出删除后的结果 for(i=0; in; +i)printf(%d , di); printf(n);return 0;测试:

3、删除指定位置上的数据/*功能:删除数组中指定位置上的元素入口参数: 数组名、数组大小、要删除元素的位置 返回值:删除后数组的大小*/int deleteData(int arr, int len, int loc)int i = loc;/在要删除的位置上写入其后的数据(覆盖) while(iloc)arri = arri-1; i-;/在i=loc处写入value arri = val;len+;return len;/*功能:在长度为len的数组arr的loc位置处插入值val入口参数:数组名、长度、位置和要插入的值返回值:插入数据后的长度*/d0 d1 d2 d3 d4 .#includ

4、e int insertData(int, int, int, int);#define SIZE 100 int main()int n=10;/数组中实际有用元素int dSIZE= 1,3,9,12,32,41,45,62,75,77;int locate, value, i;scanf(%d %d, &locate, &value);/在locate位置处插入valuen = insertData(d, n, locate, value);/输出插入后的结果 for(i=0; iloc)arri = arri-1; i-;/在i=loc处写入val arri = val; len+;r

5、eturn len;合并两个有序数组int mergeData(int a1, int l1, iint i=0,j=0,k=0; while(il1 & jl2)if(a1ia2j)a3k+=a1i+;elsea3k+=a2j+;while(il1)a3k+=a1i+;while(jl2)a3k+=a2j+;return k;度为 组a3 度,及nt a2, int l2, int a3)/*功能:将长度为l1的有序数组a1和长l2的有序数组a2,合并为新的有序数入口参数:待合并的有序数组名及长 合并后保存数据的数组名返回值:合并后的有序数组长度*/13912 32 41 45 62 75

6、77211 24 56 76 82 941239111224 32 41 45.测试:合并两个有序数组#include int mergeData(int, int, int, int, int);#define SIZE 100 int main()int n1=10,n2=7,n3=0;/数组中实际有用元素 int d1SIZE= 1,3,9,12,32,41,45,62,75,77;int d2SIZE= 2,11,24,56,76,82,94;int d3SIZE*2; int i;/合并有序数组n3=mergeData(d1, n1, d2, n2, d3);/输出合并后的结果 for(i=0; in3; +i)printf(%d , d3i); printf(n);return 0;/*功能:将长度为l1的有序数组a1和长度为l2的有序数组a2,合并为新的有序数组a3入口参数:待合并的有序数组名及长度,及合并后保存数 据的数组名返回值:合并后的有序数组长度*/int mergeData(int a1, int l1, int a2, int l2, int a3)int i=0,j=0

温馨提示

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

评论

0/150

提交评论