青海大学软件技术工程实验七、八、九、十综合实验.doc

青海大学软件技术工程实验七、八、九、十综合实验.doc

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

软件基础基础实验报告 系别:机械工程学院 班级:11材料科学与工程 学号:++++++++ 姓名:+++++++++ 实验环境:Turbo c++3.0(vc6.0) 实验七、八、九、十综合实验 实验名称:实验七 线性表的查找算法 实验目的: 掌握线性表的顺序查找算法 掌握有序表的折半查找算法 实验内容: 在顺序存储的长度为n的线性表中顺序查找元素x在表中的下标。备注:需要用到的算法是:serch( ) 在头指针为head的线性链表中顺序查找元素x的存储序号。 备注:需要用到的算法是:lserch( ) 在顺序存储的长度为n的线性表中对分查找元素x在表中的下标。 备注:需要用到的算法是:bserch() 实验名称:实验八 线性表的交换类排序算法 实验目的: 掌握冒泡排序算法 掌握快速排序算法★ 实验内容: 对无序序列P(1:n)进行冒泡排序。 备注:需要用到的算法是:bubsort( ) 对无序序列P(m:n)进行快速排序。 备注:需要用到的算法是:qkserch( ) 实验名称:实验九 线性表的插入类排序算法 实验目的: 掌握简单插入排序算法 掌握希尔排序算法★ 实验内容: 对无序序列P(1:n)进行插入排序。 备注:需要用到的算法是:insort( ) 对无序序列P(1:n)进行希尔排序。 备注:需要用到的算法是:shlsort( ) 实验名称:实验十 线性表的选择类排序算法 实验目的: 掌握简单选择排序算法 了解堆排序算法★ 实验内容: 对无序序列P(1:n)进行简单选择排序。 备注:需要用到的算法是:selsort( ) 程序代码:(请写上详细的程序注释!) //菜单函数、 #includestdlib.h #includestdio.h #includestring.h void menu() { system(cls);system(color 49); printf(------线性表综合实验------\n); printf(------请选择要进行的操作------\n);//先加入菜单项 printf(\n****** 1 建表******); printf(\n****** 2 插入******); printf(\n****** 3 删除******); printf(\n****** 4 排序******); printf(\n****** 5 查找******); printf(\n****** 6 输出******); printf(\n****** 7 退出******\n); } void input(int *v,int *n)/*输入函数*/ { int i; printf(请输入数据:\n); for (i=0;i*n;i++) scanf (%d,v+i);//利用指针! } void output(int *v,int *n)/*输出函数*/ { int i; printf(线性表中的元素是:\n); for (i=0;i*n;i++) printf(%d,*(v+i)); } int *initsl(int m,int *n) /*建表*/ { int *v; v=(int *)malloc(m*sizeof(int)); *n=0; return v; } void insl(int *v,int m,int *n,int i,int b)/*插入函数*/ { int j; if(*n==m) { printf(list overflow!); return; } if(i*n-1)i=*n; if(i1)i=1; for(j=*n;j=i;j--) v[j]=v[j-1]; v[i-1]=b; *n=*n+1; return; } void delsl(int *v,int m,int *n,int i) /*删除函数*/ { int j; if(*n==0) { printf(the list is empty!); return; } if(i1||i*n) { printf(the node is not !); return; } for(j=i;j=*n;j++) v[j-1]=v[j]; *n=*n-1; return; } void bubsort(int v[],int n)//冒泡排序 { int m,k,j,i;int d;k=0;m=n-1; while (km) /*子表未空*/ { j=m-1;m=0

文档评论(0)

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

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

1亿VIP精品文档

相关文档