排序插入排序算法实验报告

插入排序  时间:2021-01-30  阅读:()

算法设计与分析基础实验报告

应用数学学院

二零一六年六月

实验一插入排序算法

一、实验性质设计

二、实验学时14学时

三、实验目的

1、掌握插入排序的方法和原理。

2、掌握java语言实现该算法的一般流程。

四、实验内容

1、数组的输入。

2、输入、输出的异常处理。

3、插入排序的算法流程。

4、运行结果的输出。

五、实验报告

Ⅰ 、算法原理

从左到右扫描有序的子数组直到遇到一个大于或小于等于A[n-1]的元素然后就把A[n-1]插在该元素的前面或后面。

插入排序基于递归思想。

Ⅱ、书中源代码

算法Ins e rtionS o rt A[0..n-1]

//用插入排序对给定数组A[0. .n-1]排序

//输入 n个可排序元素构成的一个数组A[0. .n-1]

//输出非降序排列的数组A[0. .n-1]fori←1 to n-1 dov←A[i]j←i-1while j≥0andA[j] > vdo

A[j+1]←A[j]j←j-1

A[j+1] ← v

Ⅲ、 Java算法代码import j ava.util.*;pub lic class C haru{pub lic static vo id main(String[] args) {int n=5;int a[]=new int[n];int s=a.length;int i=0, j=0,v=0;

S ys te m.o ut.pr int ln("请输入若干个数字 ");Scanner sc=new Scanner(System.in);try{while(i<s) {a[i]=sc.nextInt();i++;

}for(i=1; i<s; i++) {v=a[i];j=i- 1;while(j>=0&&a[j]>v) {a[j+1]=a[j];j--;

}a[j+1]=v;

}

S ys te m.o ut.pr int ln("插入排序结果显示 ");for(i=0; i<s; i++) {

S ys te m.o ut.pr int ln(a[i]);

}

} catch(Exceptio n es) {

S ys te m.o ut.pr int ln(e s);

}

}

}

Ⅳ、运行结果显示

图1 图2

Ⅴ、实验结论

插入排序的基本操作是键值比较A[j]>v。键值比较次数显然依赖于特定的输入在最坏的情况下插入排序与选择排序的键值比较次数是完全一致的。在最好的情况下在外部循环的每次迭代中比较次数只执行一次。插入排序的平均性能比最差性能快两倍以及遇到基本有序的数组时表现出优异的性能使得插入排序领先与选择排序和冒泡排序。

盘点618年中大促中这款云服务器/VPS主机相对值得选择

昨天有在"盘点2021年主流云服务器商家618年中大促活动"文章中整理到当前年中大促618活动期间的一些国内国外的云服务商的促销活动,相对来说每年年中和年末的活动力度还是蛮大的,唯独就是活动太过于密集,而且商家比较多,导致我们很多新人不懂如何选择,当然对于我们这些老油条还是会选择的,估计没有比我们更聪明的进行薅爆款新人活动。有网友提到,是否可以整理一篇当前的这些活动商家中的促销产品。哪些商家哪款产...

百驰云(19/月),高性能服务器,香港三网CN2 2核2G 10M 国内、香港、美国、日本、VPS、物理机、站群全站7.5折,无理由退换,IP免费换!

百驰云成立于2017年,是一家新国人IDC商家,且正规持证IDC/ISP/CDN,商家主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、云虚拟主机、专属服务器托管、带宽租用等产品和服务。百驰云提供源自大陆、香港、韩国和美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以及国际顶尖品牌硬件。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端...

MineServer:香港CMI/洛杉矶GIA VPS,2核/2GB内存/20GB NVME/3.5TB流量/200Mbps/KVM,288元/年

mineserver怎么样?mineserver是一家国人商家,主要提供香港CN2 KVM VPS、香港CMI KVM VPS、日本CN2 KVM VPS、洛杉矶cn2 gia端口转发等服务,云服务器网(yuntue.com)介绍过几次,最近比较活跃。现在新推出了3款特价KVM VPS,性价比高,香港CMI/洛杉矶GIA VPS,2核/2GB内存/20GB NVME/3.5TB流量/200Mbps...

插入排序为你推荐
秦殇内存修改器秦殇的修改器怎么用啊?修改器的版本是1.1百度空间首页怎样通过账号登录自己的百度空间电脑管家和360哪个好360和电脑管家哪个好啊骁龙765g和骁龙865哪个好请问苹果的a13处理器和骁龙865综合性能两个相差大不大?以及打游戏哪个更流畅?法兰绒和珊瑚绒哪个好法兰绒、珊瑚绒、天鹅绒哪个暖和?游戏盒子哪个好请问游戏盒子哪个好啊雅思和托福哪个好考托福好考还是雅思好考哇?雅思和托福哪个好考托福好考还是雅思好考?看书软件哪个好手机阅读软件哪个好用?电动牙刷哪个好电动牙刷哪个牌子好?准备就买个几百块钱的?
香港主机 谷歌香港 警告本网站 国内php空间 发包服务器 免费mysql 服务器维护方案 qq对话框 512mb 网购分享 带宽租赁 shuang12 腾讯网盘 脚本大全 月付空间 pptpvpn bwg tko ddos攻击器 更多