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 相关文章推荐
jQuery使用技巧简单汇总
Apr 18 Javascript
js输出阴历、阳历、年份、月份、周示例代码
Jan 29 Javascript
jquery用data方法获取某个元素上的事件
Jun 23 Javascript
js和jquery设置disabled属性为true使按钮失效
Aug 07 Javascript
js实现交换运动效果的方法
Apr 10 Javascript
jQuery处理图片加载失败的常用方法
Jun 08 Javascript
JavaScript动态创建form表单并提交的实现方法
Dec 10 Javascript
vue中将网页打印成pdf实例代码
Jun 15 Javascript
jqgrid实现简单的单行编辑功能
Sep 30 Javascript
Vue-cli配置打包文件本地使用的教程图解
Aug 02 Javascript
Vue实现微信支付功能遇到的坑
Jun 05 Javascript
ES6 async、await的基本使用方法示例
Jun 06 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 curl基本操作详解
2013/07/23 PHP
PHP生成条形码大揭秘
2015/09/24 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
2016/05/13 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
2016/06/06 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
2016/06/28 Javascript
AngularJS 输入验证详解及实例代码
2016/07/28 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
Vue数据驱动模拟实现1
2017/01/11 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
在Mac下彻底卸载node和npm的方法
2018/05/16 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
微信小程序实现带缩略图轮播效果
2018/11/04 Javascript
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
2013/12/04 Python
MySQL中表的复制以及大型数据表的备份教程
2015/11/25 Python
Python实现HTTP协议下的文件下载方法总结
2016/04/20 Python
Python列表和元组的定义与使用操作示例
2017/07/26 Python
python+matplotlib绘制3D条形图实例代码
2018/01/17 Python
pandas修改DataFrame列名的方法
2018/04/08 Python
Python定义二叉树及4种遍历方法实例详解
2018/07/05 Python
Python中字符串与编码示例代码
2019/05/20 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
基于Python实现剪切板实时监控方法解析
2019/09/11 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
Python爬取梨视频的示例
2021/01/29 Python
上班早退检讨书
2014/01/09 职场文书
十一国庆节“向国旗敬礼”主题班会活动方案
2014/09/27 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
卢旺达饭店观后感
2015/06/05 职场文书