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类中的公有变量和私有变量
Jul 24 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
Jun 23 Javascript
jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)
Mar 21 Javascript
实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)
Jan 11 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
Jul 17 Javascript
BootStrap table实现表格行拖拽效果
Dec 01 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
Dec 11 Javascript
在微信小程序中保存网络图片
Feb 12 Javascript
Vue登录主页动态背景短视频制作
Sep 21 Javascript
js实现GIF图片的分解和合成
Oct 24 Javascript
详解JavaScript类型判断的四种方法
Oct 21 Javascript
vue+openlayers绘制省市边界线
Dec 24 Vue.js
轻量级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中cookie的作用域
2008/03/27 PHP
php无限级分类实现方法分析
2016/10/19 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
csdn 博客的css样式 v3
2009/02/24 Javascript
JavaScript/jQuery 表单美化插件小结
2012/02/14 Javascript
Jquery实现简单的动画效果代码
2012/03/18 Javascript
jquery.Jwin.js 基于jquery的弹出层插件代码
2012/05/23 Javascript
javascript数组去重3种方法的性能测试与比较
2013/03/26 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
JavaScript中的Math.atan2()方法使用详解
2015/06/15 Javascript
js实现带圆角的多级下拉菜单效果
2015/08/28 Javascript
基于jQuery实现搜索关键字自动匹配功能
2020/03/26 Javascript
JQuery+EasyUI轻松实现步骤条效果
2016/02/22 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
利用Node.js制作爬取大众点评的爬虫
2016/09/22 Javascript
js实现的简练高效拖拽功能示例
2016/12/21 Javascript
jquery表单提交带错误信息提示效果
2017/03/09 Javascript
JavaScript实现拖拽效果
2020/03/16 Javascript
[03:54]DOTA2英雄梦之声_第06期_昆卡
2014/06/23 DOTA
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
Windows下Anaconda的安装和简单使用方法
2018/01/04 Python
浅谈Python中的作用域规则和闭包
2018/03/20 Python
使用selenium模拟登录解决滑块验证问题的实现
2019/05/10 Python
Groupon比利时官方网站:特卖和网上购物高达-70%
2019/08/09 全球购物
学校三八妇女节活动情况总结
2014/03/09 职场文书
大学生两会精神学习心得体会
2014/03/10 职场文书
技术合作协议书范本
2014/04/18 职场文书
图书馆志愿者活动总结
2014/06/27 职场文书
迟到检讨书2000字(精选篇)
2014/10/07 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
2015年社区服务活动总结
2015/03/25 职场文书
结婚仪式主持词
2015/06/29 职场文书
2016年班主任培训心得体会
2016/01/07 职场文书
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫
详解Python+OpenCV绘制灰度直方图
2022/03/22 Python