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的$.ajax async使用
Oct 19 Javascript
Jquery选中或取消radio示例
Sep 29 Javascript
window.print打印指定div实例代码
Dec 13 Javascript
JS解析XML文件和XML字符串详解
Apr 17 Javascript
基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
Feb 22 Javascript
AngularJS动态绑定HTML的方法分析
Nov 07 Javascript
详解Vue.js之视图和数据的双向绑定(v-model)
Jun 23 Javascript
angular动态表单制作
Feb 23 Javascript
vue实现一个炫酷的日历组件
Oct 08 Javascript
每个 JavaScript 工程师都应懂的33个概念
Oct 22 Javascript
javascript实现简易的计算器
Jan 17 Javascript
vue webpack build资源相对路径的问题及解决方法
Jun 04 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数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
2011/05/29 PHP
PHP实现八皇后算法
2019/05/06 PHP
PHP基于swoole多进程操作示例
2019/08/12 PHP
JavaScript 异步调用框架 (Part 1 - 问题 & 场景)
2009/08/03 Javascript
JS连接SQL数据库与ACCESS数据库的方法实例
2013/11/21 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
javascript实现dom元素可拖动
2016/03/21 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
2016/05/07 Javascript
15位和18位身份证JS校验的简单实例
2016/07/18 Javascript
JavaScript提高网站性能优化的建议(二)
2016/07/24 Javascript
微信开发 js实现tabs选项卡效果
2016/10/28 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
详解vuex之store拆分即多模块状态管理(modules)篇
2018/11/13 Javascript
JS实现图片幻灯片效果代码实例
2020/05/21 Javascript
python和C语言混合编程实例
2014/06/04 Python
Python中使用摄像头实现简单的延时摄影技术
2015/03/27 Python
python实现根据月份和日期得到星座的方法
2015/03/27 Python
举例讲解Python中的Null模式与桥接模式编程
2016/02/02 Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
Python实现定时执行任务的三种方式简单示例
2019/03/30 Python
PyTorch里面的torch.nn.Parameter()详解
2020/01/03 Python
TensorFlow实现checkpoint文件转换为pb文件
2020/02/10 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
2020/09/28 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
纯CSS3实现的井字棋游戏
2020/11/25 HTML / CSS
Canvas 帧动画吃苹果小游戏
2020/08/05 HTML / CSS
英国时尚服饰电商:Boohoo
2017/10/12 全球购物
分公司经理岗位职责
2013/11/11 职场文书
中学运动会广播稿
2014/01/19 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
《蓝鲸的眼睛》读后感5篇
2020/01/15 职场文书