文档详情

数据结构查找与排序.doc

发布:2016-04-13约字共5页下载文档
文本预览下载声明
南昌大学实验报告 学生姓名: 李木子 学 号: 8000113146 专业班级: 软工133 实验类型:□ 验证 □ 综合 □ 设计 □ 创新 实验日期: 实验成绩: 实验项目名称 查找与排序 实验目的 学会二分查找,和冒泡排序 实验基本原理 主要仪器设备及耗材 电脑,VC6.0 五、实验步骤 #include stdio.h #define MAXSIZE 100 typedef int datatype; /************************************/ /* 顺序表结构体的定义 */ /************************************/ typedef struct{ datatype a[MAXSIZE] ; int size; }sequence_list; /************************************/ /* 函数声明 */ /************************************/ int binsearch(sequence_list * list , int x) ; void display(sequence_list slt) ; void sort(sequence_list *s) ; /************************************/ /* 二分查找 */ /************************************/ int binsearch(sequence_list * list , int x) { int low ; int high ; int mid ; low = 0 ; high = list-size-1 ; while ( low = high ) { mid = (low + high) / 2 ; if( x list-a[mid] ) high = mid - 1 ; else if( x list-a[mid] ) low = mid + 1 ; else return mid ; } return -1 ; } /************************************/ /* 顺序表的显示函数 */ /************************************/ void display(sequence_list slt) { int i; if(!slt.size) { printf(\n顺序表为空) ; } else { for(i=0;islt.size;i++) printf(\n%d\n,slt.a[i]) ; } } /************************************/ /* 顺序表排序 */ /************************************/ void sort(sequence_list *s) { int i ; int j ; int temp ; for(i=0;is-size-1;i++) { for(j=i+1;js-size;j++) { if(s-a[i]=s-a[j]) { temp=s-a[i]; s-a[i]=s-a[j]; s-a[j]=temp; } } } } /************************************/ /* 主函数 */ /************************************/ int main(){ int i ; int n ; int location ; sequence_list list1 ; list1.size=0 ; printf(第一个顺序表元素个数:\n); scanf(%d ,n) ; printf(第一个顺序表输入:\n); for(i=0 ; in ;
显示全部
相似文档