资源描述:
《软基实验第五次上机实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件技术基础上机实验报告(学生姓名)(学号)上机实验五ex5_1:查找——基本题假设有序序列的数据元素为:(3,10,13,17,40,43,50,70)1)编写顺序查找函数2)编写二分查找函数3)在主程序中输入关键字(43和5),分别调用两种查找函数,输出结果。ex5_2:Hash查找——扩展题1)一个班有30位同学,安排装进一个有30个元素的数组,以姓名作为关键字进行哈希存储,具体方法如下:将姓名字符串中的每个字节按ASCII码(中文也支持的哦)加起来,除以30,取得的余数作为元素存放位置(数组下标)。冲突解决采用线性探查法。2)输入少于30个学生姓名,按
2、Hash方式存入表中。3)验证能够按Hash方式找到表中学生,不在表中将提示错误ex5_3:排序——基本题1)编写简单选择法函数2)编写直接插入法函数3)编写冒泡法排序函数4)在主程序中输入一组数据元素,如513,87,512,61,908,170,897,275,653,462,分别调用三种排序函数,输出每趟排序结果。ex5-4:排序——扩展题编写快速排序函数一、程序流程说明——有条理的文字或流程图*由于此次上机题目较多,为了让老师看得更加容易,条理体现在代码注释中。二、完整程序训练:(注:同样的,由于代码较多,所有方法的编写和调用都已经尽可能按照实验PPT
3、题目的顺序来,所以基础部分和扩展题的代码都不分开编写,已经在代码中有详细注释。)代码://上机实验五#include"stdafx.h"#include#include#include#pragmawarning(disable:4996)#define_CRT_SECURE_NO_WARNINGStypedefstructName{char*name;}*Nameptr;//ex5_1查找——基本题//顺序查找voidseqSearch(int*a);//二分查找voidbinarySeach(int
4、*a,intlength);//******************哈希查找**************//ex5_2扩展题//将名字表保存到哈希表中Name*HashSave(Name*nameList);//名字列表voidinit(Name*nameList);//哈希查找voidHash(char*name,Name*nameList);//*****************************************//ex5_3排序基本题//选择排序int*selectionSort(int*array,intlength);//插入排序int
5、*InsertSort(int*array,intlength);//冒泡排序int*bubblesort(int*array,intlength);//****************ex5_4快速排序扩展题***********//快速排序voidquickSort(int*array,intleft,intright);//***************************************//打印数组元素voidprintArray(int*a,intlength);voidmain(){inta[]={3,10,13,17,40,43,50
6、,70};intb[]={513,87,512,61,908,170,897,275,653,462};printf("**************seqSearch*************");seqSearch(a);printf("**************binarySearch*************");binarySeach(a,8);printf("**************InsertSort*************");printArray(InsertSort(b,10),10);printf("**
7、************selectionSort*************");printArray(selectionSort(b,10),10);printf("**************bubblesort*************");printArray(bubblesort(b,10),10);printf("**************quickSort*************");quickSort(b,0,9);printArray(b,10);printf("**************HashSearch**
8、***********");Nam