云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据结构实验五-查找与排序的实现

数据结构实验五-查找与排序的实现

  • 62 次阅读
  • 3 次下载
  • 2025/6/22 17:20:01

实 验 报 告

课程名称 数据结构 实验名称 查找与排序的实现 系别 专业班级 指导教师11 一、实验目的

(1) (2) (3) (4)

掌握交换排序算法(冒泡排序)的基本思想; 掌握交换排序算法(冒泡排序)的实现方法; 掌握折半查找算法的基本思想; 掌握折半查找算法的实现方法;

学号 姓名 实验日期 实验成绩

二、实验内容

1. 对同一组数据分别进行冒泡排序,输出排序结果。要求: 1) 设计三种输入数据序列:正序、反序、无序

2) 修改程序:

a) 将序列采用手工输入的方式输入

b) 增加记录比较次数、移动次数的变量并输出其值,分析三种序列状态的算法时间复杂

2. 对给定的有序查找集合,通过折半查找与给定值k相等的元素。

3. 在冒泡算法中若设置一个变量lastExchangeIndex来标记每趟排序时经过交换的最后位置,

算法如何改进?

三、设计与编码

1.本实验用到的理论知识

2.算法设计

3.编码

package sort_search;

import java.util.Scanner; public class Sort_Search {

//冒泡排序算法

public void BubbleSort(int r[]){ int temp;

int count=0,move=0; boolean flag=true;

for(int i=1;i

for(int j=0;jr[j+1]){ temp=r[j]; r[j]=r[j+1]; r[j+1]=temp; move++; flag=true; } } }

System.out.println(\排序后的数组为:\ for(int i=0;i

System.out.println();

System.out.println(\比较次数为:\ System.out.println(\移动次数为:\ }

public static int BinarySearch(int r[],int key){ //折半查找算法

int low=0,high=r.length-1; while(low<=high){

int mid=(low+high)/2; if(r[mid]==key){ return mid; }

else if(r[mid]>key){

high=mid-1; }

else{

low=mid+1; } }

return -1; }

//测试

public static void main(String[] args) { Sort_Search ss=new Sort_Search(); int t[]=new int[13];

System.out.println(\依次输入13个整数为:\

Scanner sc=new Scanner(System.in); for(int i=0;i

System.out.println(\排序前的数组为: \ for(int i=0;i

System.out.println(); ss.BubbleSort(t); //查找

while(true){

System.out.println(\请输入要查找的数: \ int k=sc.nextInt(); if(BinarySearch(t,k)>0)

System.out.println(k+\在数组中的位置是第: \ BinarySearch(t,k)); else

System.out.println(k+\在数组中查找不到!\ } } }

搜索更多关于: 数据结构实验五-查找与排序的实现 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

实 验 报 告 课程名称 数据结构 实验名称 查找与排序的实现 系别 专业班级 指导教师11 一、实验目的 (1) (2) (3) (4) 掌握交换排序算法(冒泡排序)的基本思想; 掌握交换排序算法(冒泡排序)的实现方法; 掌握折半查找算法的基本思想; 掌握折半查找算法的实现方法; 学号 姓名 实验日期 实验成绩 二、实验内容 1. 对同一组数据分别进行冒泡排序,输出排序结果。要求: 1) 设计三种输入数据序列:正序、

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com