JAVA四种基本排序方法实例总结


Posted in Javascript onJuly 24, 2015

本文实例讲述了JAVA四种基本排序方法。分享给大家供大家参考。具体如下:

JAVA四种基本排序,包括冒泡法,插入法,选择法,SHELL排序法.其中选择法是冒泡法的改进,SHELL排序法是 插入法的改进.所以从根本上来说可以归纳为两种不同的排序方法:即:插入法&冒泡法

一 插入法:

遍历排序集合,每到一个元素时,都要将这个元素与所有它之前的元素遍历比较一遍,让符合排序顺序的元素挨个移动到当前范围内它最应该出现的位置。交换是相邻遍历移动,双重循环控制实现.这种排序法属于地头蛇类型,在我的地牌上我要把所有的东西按一定的顺序规整,过来一个,规整一个.

处理代码如下:

public void sort(int[] data) {
int temp; 
for(int i=1; i〈data.length; i++){
for(int j=i; (j〉0)&&(data[j]〉data[j-1]); j--){
temp=date[j]; 
data[j]=data[j-1]; 
data[j-1]=temp; }
} 
}

二 冒泡法:

比较容易,它的内层循环保证遍历一次后,集合中最小(大)元素出现在它的正确位置,下一次就是次小元素。。。该方法在集合分布的各种情况下交换移动的次数基本不变,属于最慢的一种排序。实现也是双重循环控制。这种排序法属于过江龙,就是要找到极端,但是过奖龙也有大哥,二哥等,所以他们只能是大哥挑了二哥挑.

处理代码如下:

public static int [] maopao(int[] data) {
int temp; 
for(int i=0; i〈data.length-1; i++){
for(int j=i+1; j〈data.length; j++){
if(data[i]〈data[j]){
temp=data[i]; 
data[i]=data[j]; 
data[j]=temp; 
} 
}
}
return data;

三 选择法:

该方法只是通过遍历集合记录最小(大)元素的位置,一次遍历完后,再进行交换位置操作,类似冒泡,但在比较过程中,不进行交换操作,只记录元素位置。一次遍历只进行一次交换操作。这个对与交换次序比较费时的元素比较适合。这种排序法比冒泡法要城府要深的多,我先记住极端数据,待遍历数据完了之后,我再处理,不像冒泡法那样只要比自己极端一点的就要处理,选择法只处理本身范围内的最极端数据.

public static void xuanze(int[] data) {
int temp; 
for (int i = 0; i 〈 data.length; i++) {
int lowIndex = i; 
for (int j = data.length - 1; j 〉 i; j--) {
if (data[j] 〉 data[lowIndex]) {
lowIndex = j; 
}
}
temp=data[i]; 
data[i]=data[lowIndex]; 
data[lowIndex]=temp; 
}
}

四 Shell排序:

它是对插入排序的一种改进,是考虑将集合元素按照一定的基数划分成组去排序,让每一组在局部范围内先排成基本有序,最后在进行一次所有元素的插入排序。

public void sort(int[] data) {
for(int i=data.length/2; i〉2; i/=2){
for(int j=0; j〈i; j++){
insertSort(data,j,i); 
}
}
insertSort(data,0,1); 
}
private void insertSort(int[] data, int start, int inc) {
int temp; 
for(int i=start+inc; i〈data.length; i+=inc){
for(int j=i; (j〉=inc)&&(data[j]〈data[j-inc]); j-=inc){
temp=data[j]; 
data[j]=data[j-inc]
data[j-inc]=temp; 
}
}
}

希望本文所述对大家的java程序设计有所帮助。

Javascript 相关文章推荐
JS 去前后空格大全(IE9亲测)
Jul 15 Javascript
JS获取当前网页大小以及屏幕分辨率等
Sep 05 Javascript
js实现表单提交后不重新刷新当前页面
Nov 30 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
Jan 08 Javascript
JS中的phototype详解
Feb 04 Javascript
js动态添加表格逐行添加、删除、遍历取值的实例代码
Jan 25 Javascript
axios使用拦截器统一处理所有的http请求的方法
Nov 02 Javascript
vue使用高德地图根据坐标定位点的实现代码
Aug 22 Javascript
小程序实现日历左右滑动效果
Oct 21 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
Feb 01 Javascript
VUE使用axios调用后台API接口的方法
Aug 03 Javascript
解决新建一个vue项目过程中遇到的问题
Oct 22 Javascript
轻量级javascript 框架Backbone使用指南
Jul 24 #Javascript
node.js操作mysql(增删改查)
Jul 24 #Javascript
浅谈javascript获取元素transform参数
Jul 24 #Javascript
js实现汉字排序的方法
Jul 23 #Javascript
javascript实现全角半角检测的方法
Jul 23 #Javascript
javascript比较两个日期相差天数的方法
Jul 23 #Javascript
jquery实现简单的轮换出现效果实例
Jul 23 #Javascript
You might like
PHP巧妙利用位运算实现网站权限管理的方法
2017/03/12 PHP
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
2017/06/09 PHP
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
5款Javascript颜色选择器
2009/10/25 Javascript
JavaScript 数组运用实现代码
2010/04/13 Javascript
JQuery 学习技巧总结
2010/05/21 Javascript
为你的网站增加亮点的9款jQuery插件推荐
2011/05/03 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战一)
2013/08/21 Javascript
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
javascript动态添加checkbox复选框的方法
2015/12/23 Javascript
JavaScript判断页面加载完之后再执行预定函数的技巧
2016/05/17 Javascript
JavaScript表单焦点自动切换代码
2016/07/24 Javascript
node.js中axios使用心得总结
2017/11/29 Javascript
layUI的验证码功能及校验实例
2019/10/25 Javascript
vue 自定义组件的写法与用法详解
2020/03/04 Javascript
VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法
2020/04/17 Javascript
JavaScript组合模式---引入案例分析
2020/05/23 Javascript
详细分析vue响应式原理
2020/06/22 Javascript
收集的几个Python小技巧分享
2014/11/22 Python
在Python下进行UDP网络编程的教程
2015/04/29 Python
Python操作Excel之xlsx文件
2017/03/24 Python
Python对列表去重的多种方法(四种方法)
2017/12/05 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
2018/08/02 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
详解anaconda离线安装pytorchGPU版
2020/09/08 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
国际旅客访问北美最大的汽车租赁提供商:Alamo Rent A Car
2018/06/13 全球购物
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
澳大利亚领先的在线礼品网站:Gifts Australia
2020/08/15 全球购物
学生会主席就职演讲稿
2014/01/14 职场文书
优秀信贷员先进事迹
2014/01/31 职场文书
党委工作总结2015
2015/04/27 职场文书
民主生活会主持词
2015/07/01 职场文书
大学毕业谢师宴致辞
2015/07/27 职场文书
CSS实现多个元素在盒子内两端对齐效果
2021/03/30 HTML / CSS