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 相关文章推荐
精选的10款用于构建良好易用性网站的jQuery插件
Jan 23 Javascript
javascript工厂方式定义对象
Dec 26 Javascript
10个很棒的jQuery代码片段
Sep 24 Javascript
JS实现可拖曳、可关闭的弹窗效果
Sep 26 Javascript
jquery实现树形菜单完整代码
Dec 29 Javascript
基于JavaScript代码实现微信扫一扫下载APP
Dec 30 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
Feb 20 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
Jul 08 Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
Sep 02 Javascript
javascript实现贪吃蛇经典游戏
Apr 10 Javascript
webpack4从0搭建组件库的实现
Nov 29 Javascript
详解JavaScript中分解数字的三种方法
Jan 05 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
2006/12/13 PHP
PHP 芝麻信用接入的注意事项
2016/12/01 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
2019/08/14 PHP
PHP与SQL语句写一句话木马总结
2019/10/11 PHP
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
2008/11/03 Javascript
javascript 设计模式之单体模式 面向对象学习基础
2010/04/18 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
js闭包引起的事件注册问题介绍
2016/03/29 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
javascript创建含数字字母的随机字符串方法总结
2016/08/01 Javascript
JavaScript闭包和范围实例详解
2016/12/19 Javascript
Angular工具方法学习
2016/12/26 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
2017/02/03 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
Angular实现双向折叠列表组件的示例代码
2017/11/21 Javascript
Node.js创建Web、TCP服务器
2017/12/05 Javascript
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
Vue常用的几个指令附完整案例
2018/11/06 Javascript
Vue中通过属性绑定为元素绑定style行内样式的实例代码
2020/04/30 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
2020/07/11 Javascript
javascript实现扫雷简易版
2020/08/18 Javascript
vue动态设置路由权限的主要思路
2021/01/13 Vue.js
Python中optparser库用法实例详解
2018/01/26 Python
Django怎么在admin后台注册数据库表
2020/11/14 Python
python 发送get请求接口详解
2020/11/17 Python
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
2014/11/11 HTML / CSS
HTML5中视频音频的使用详解
2017/07/07 HTML / CSS
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
英国优质鞋类专家:Robinson’s Shoes
2017/12/08 全球购物
美国开幕式潮店:Opening Ceremony
2018/02/10 全球购物
Daniel Wellington官方海外旗舰店:丹尼尔惠灵顿DW手表
2018/02/22 全球购物
软件测试工程师结构化面试题库
2016/11/23 面试题
质量月活动策划方案
2014/03/10 职场文书
2015年宣传工作总结
2015/04/08 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书