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 相关文章推荐
google 搜索框添加关键字实现代码
Apr 24 Javascript
基于jquery实现状态限定编辑的代码
Feb 11 Javascript
jQuery prev ~ siblings选择器使用介绍
Aug 09 Javascript
jQuery 获取和设置select下拉框的值实现代码
Nov 08 Javascript
jQuery显示和隐藏 常用的状态判断方法
Jan 29 Javascript
Node.js事件驱动
Jun 18 Javascript
JS+CSS实现大气的黑色首页导航菜单效果代码
Sep 10 Javascript
Bootstrap 设置datetimepicker在屏幕上面弹出设置方法
Mar 21 Javascript
js的函数的按值传递参数(实例讲解)
Nov 16 Javascript
理理Vue细节(推荐)
Apr 16 Javascript
javascript实现鼠标点击生成文字特效
Dec 24 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
Nov 12 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中使用Imagick实现各种图片效果实例
2015/01/21 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
PHP实现的json类实例
2015/07/28 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
超清晰的document对象详解
2007/02/27 Javascript
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
javascript 客户端验证上传图片的大小(兼容IE和火狐)
2009/08/15 Javascript
js 小贴士一星期合集
2010/04/07 Javascript
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
JQuery实现超链接鼠标提示效果的方法
2015/06/10 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
React Native之TextInput组件解析示例
2017/08/22 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
2017/09/04 Javascript
vue富文本框(插入文本、图片、视频)的使用及问题小结
2018/08/17 Javascript
IE9 elementUI文件上传的问题解决
2018/10/17 Javascript
Electron 如何调用本地模块的方法
2019/02/01 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
通过JS深度判断两个对象字段相同
2019/06/14 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
2020/01/26 Javascript
[04:55]完美世界副总裁蔡玮:DOTA2的自由、公平与信任
2013/12/18 DOTA
python3图片转换二进制存入mysql
2013/12/06 Python
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
Python获取二维矩阵每列最大值的方法
2018/04/03 Python
python打包生成的exe文件运行时提示缺少模块的解决方法
2018/10/31 Python
python判断完全平方数的方法
2018/11/13 Python
Python中文编码知识点
2019/02/18 Python
快速排序的四种python实现(推荐)
2019/04/03 Python
在Pandas中处理NaN值的方法
2019/06/25 Python
Windows下Anaconda安装、换源与更新的方法
2020/04/17 Python
pyspark 随机森林的实现
2020/04/24 Python
新加坡第一大健康与美容零售商:屈臣氏新加坡(Watsons Singapore)
2020/12/11 全球购物
医学专业个人求职自荐信格式
2013/09/23 职场文书
李白故里导游词
2015/02/12 职场文书