电子科技大学软件技术基础实验报告_第1页
电子科技大学软件技术基础实验报告_第2页
电子科技大学软件技术基础实验报告_第3页
电子科技大学软件技术基础实验报告_第4页
电子科技大学软件技术基础实验报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

电子科技大学 通信与信息工程 学院标 准 实 验 报 告(实验)课程名称 软件技术基础实验 电子科技大学教务处制表电 子 科 技 大 学实 验 报 告一、实验室名称:校公共机房 二、实验项目名称:查找与排序三、实验学时:4学时四、实验原理:使用VS2010等C语言集成开发环境(IDE),在微型计算机上对程序进行编辑、编译、连接与运行。通过上机练习掌握顺序查找、二分查找函数、简单选择法、直接插入法、冒泡法排序、快速排序等方法、过程和实际应用。五、实验目的:1. 熟练掌握顺序查找、二分查找函数、简单选择法、直接插入法、冒泡法排序、快速排序等算法方法并实现。2. 掌握课程平台使用方法。六、实验内容:ex5_1:查找 设有序序列的数据元素为:(3,10,13,17,40,43,50,70)1)编写顺序查找函数2)编写二分查找函数3)在主程序中输入关键字(43和5),分别调用两种查找函数,输出结果。/第一题#include #define maxnum 20typedef struct int datamaxnum; int length;list_type;void create(list_type *l) l-length=8; l-data0=3; l-data1=10; l-data2=13; l-data3=17; l-data4=40; l-data5=43; l-data6=50; l-data7=70;void shunxucz(list_type *l,int a1,int a2) int i,flag=0; printf(-n); printf(顺序查找法:n); for(i=0;ilength;i+) if(a1=l-datai) printf(%d是第%d个元素n,a1,(i+1);flag=flag+1; if(flag=0) printf(表中没有大小为%d的元素n,a1); flag=0; for(i=0;ilength;i+) if(a2=l-datai) printf(%d是第%d个元素n,a2,(i+1);flag=flag+1; if(flag=0) printf(表中没有大小为%d的元素n,a2);void erfencz(list_type *l,int a1,int a2) printf(-n); printf(二分查找法:n); int low,h,m,flag=0,i; low=0; h=l-length-1; for(i=0;ilength;i+) m=(low+h)/2; /如果有小数就向小的数字取值9/2=4 if(l-datam=a1) printf(%d是第%d个元素n,a1,(m+1);flag=1;break; else if(l-datamdatam22) h=m-1; if(flag!=1) printf(表中没有大小为%d的元素n,a1); flag=0; low=0; h=l-length-1; for(i=0;ilength;i+) m=(low+h)/2; /如果有小数就向小的数字取值9/2=4 if(l-datam=a2) printf(%d是第%d个元素n,a2,(m+1);flag=1;break; else if(l-datamdatam22) h=m-1; if(flag!=1) printf(表中没有大小为%d的元素n,a2);int main() int flag1=43,flag2=5; list_type list,list1,list2; create(&list);create(&list1);create(&list2); shunxucz(&list1,flag1,flag2); erfencz(&list1,flag1,flag2); printf(-n);ex5_2:排序1)编写简单选择法函数2)编写直接插入法函数3)编写冒泡法排序函数4)编写快速排序函数5)在主程序中输入一组数据元素(513,87,512,61,908,170,897,275,653,462),分别调用4种排序函数,输出每趟排序结果。/第二题#include #define maxnum 20typedef struct int datamaxnum; int length;list_type;void create(list_type *l) l-length=10; l-data0=513; l-data1=87; l-data2=512; l-data3=61; l-data4=908; l-data5=170; l-data6=897; l-data7=275; l-data8=653; l-data9=462;void charupx(list_type *l) printf(-n); printf(插入排序法:n); printf(分步过程:n); int i,j,k; int temp; for ( i=1; ilength; i+) temp=l-datai; j=i-1; while (j=0)& (tempdataj) l-dataj+1=l-dataj; j=j-1; l-dataj+1=temp; if(i=9) printf(最终结果:n); for(k=0;klength;k+) printf( %d ,l-datak); printf(n); void maopaopx(list_type *l) int temp; int i,j,k; printf(-n); printf(冒泡排序法:n); printf(分步过程:n); for(i=0;ilength;i+) for(j=i+1;jlength;j+) if(l-datail-dataj) temp=l-datai;l-datai=l-dataj;l-dataj=temp; if(i=9) printf(最终结果:n); for(k=0;klength;k+) printf( %d ,l-datak); printf(n); void xuanzepx(list_type *l) int temp,i,j,k; printf(-n); printf(选择排序法:n); printf(分步过程:n); for(i=0;ilength;i+) for(j=i;jlength;j+) if(l-datajdatai) temp=l-dataj; l-dataj=l-datai; l-datai=temp; if(i=9) printf(最终结果:n); for(k=0;klength;k+) printf( %d ,l-datak); printf(n); void quick_sort( int *a, int low, int high)int i = low, j = high;int temp = a low;if( low = high) return;while( i != j)while( i = temp)j-;a i = a j;while( i j & a i = temp)i+;a j = a i;a i = temp;quick_sort( a, low, i - 1); quick_sort( a, i + 1, high);for(i=0; ihigh+1; i+) printf( %d , ai); printf (n);int main()int i; list_type list,list1,list2,list3; create(&list);create(&list1);create(&list2);create(&list3); xuanzepx(&list2); charupx(&list); maopaopx(&list1);printf(-

温馨提示

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

评论

0/150

提交评论