博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java-数组排序--冒泡排序、鸡尾酒排序、地精排序
阅读量:5970 次
发布时间:2019-06-19

本文共 1553 字,大约阅读时间需要 5 分钟。

冒泡排序

冒泡排序的思想是,让依次数组中相邻的数进行比较,如果前一个数比后一个数大,则两数进行交换,大的数就会象泡泡一样慢慢浮在水面上了

见图解

稳定性:稳定

时间复杂度:O(n2)

1     public static void bubbleSort(int[] arr) { 2          3         for (int i = 0; i < arr.length; i++) { 4             for (int j = 0; j < arr.length-1-i; j++) { 5                 if(arr[j]>arr[j+1]) { 6                     int t=arr[j]; 7                     arr[j]=arr[j+1]; 8                     arr[j+1]=t; 9                 }10             }11         }12         13     }

动态图解

 

 

鸡尾酒排序

鸡尾酒排序是冒泡排序的改进,当算法将一个最大数冒泡到列尾时,再从列尾开始将最小值冒泡到列首

见图解

稳定性:稳定

时间复杂度:O(n2)

1     public static void coktailSort(int[] arr) { 2          3         for (int i = 0; i < arr.length/2; i++) { 4             for (int j = i; j < arr.length-1-i; j++) { 5                 if(arr[j]>arr[j+1]) { 6                     int t=arr[j]; 7                     arr[j]=arr[j+1]; 8                     arr[j+1]=t; 9                 }10             }11             for (int j = arr.length-(1+1)-i; j >i; j--) {12                 if(arr[j]

动态图解

 

地精排序

地精排序,传说有一个地精在排列一排花盘。他从前至后的排列,如果相邻的两个花盘顺序正确,他向前一步;如果花盘顺序错误,他后退一步,直到所有的花盘的顺序都排列好。(地精排序思路与插入排序和冒泡排序很像, 主要其对代码进行了极简化)

稳定性:稳定

时间复杂度:O(n2

1     public static void gnomeSort(int[] arr) { 2  3         int i=1; 4         while(i
=arr[i-1]) { 7 i++; 8 }else { 9 int t=arr[i];10 arr[i]=arr[i-1];11 arr[i-1]=t;12 i--;13 }14 15 }16 17 }

 

 

 


如果有地方写的错误,或者有什么疑问与建议,欢迎大家提出来 愿与大家一同进步

转载于:https://www.cnblogs.com/wangbingc/p/10131556.html

你可能感兴趣的文章
使用C#客户端访问FTP服务的一个解决方案
查看>>
对软件测试团队“核心价值”的思考
查看>>
mysql基础知识点
查看>>
Microsoft.System.Center.Operations.Manager.2007 中文版完整光盘下载地址
查看>>
Python快速教程
查看>>
ssh免密码登录
查看>>
Linux下Django环境安装
查看>>
如何在指定的内容中找出指定字符串的个数
查看>>
我的友情链接
查看>>
浅谈如何用We7站群平台打造垂直性政务网站
查看>>
我的友情链接
查看>>
Go bytes包
查看>>
Spring MVC请求处理流程分析
查看>>
ORACLE--Connect By、Level、Start With的使用(Hierarchical query-层次查询)
查看>>
生产环境MySQL 5.5.x单机多实例配置实践
查看>>
Web应用工作原理、动态网页技术
查看>>
EXCEL工作表保护密码破解 宏撤销保护图文教程
查看>>
Catalan数(卡特兰数)
查看>>
Linux shell的条件判断、循环语句及实例
查看>>
JPA常用注解
查看>>