- 浏览: 114854 次
- 性别:
- 来自: 湖南
文章分类
最新评论
-
一步一个天涯:
good.
tomcat配置热启动,我试过有用的方式 -
yuechen323:
哥们!!看了你博客的大部分文章,写的都非常的通俗易懂,谢谢~ ...
我在java中碰到的设计模式 -
悲剧了:
...
jstl
搞开发的人都需要积累一些经典算法,以备不时之须。 搞开发也有好几年了,积累的一些算法一直没做过整理,这段时间无聊就把这些算法整理以下,以备以后之用。 算法——————鸡尾酒排序。 问题 有一数组,长度为n,把数组中的元素从小到大重新排列。 说明 鸡尾酒(cocktail)排序,又叫搅拌(shaker)排序。是改良的冒泡排序,冒泡排 序可见另一篇文章经典算法之冒泡排序。 思路 鸡尾酒排序的过程为:(1)先对数组从左到右进行冒泡排序(升序),则最大的元 素去到最右端;(2)再对数组从右到左进行冒泡排序(降序),则最小的元素去到最左 端。以此类推,依次改变冒泡的方向,并不断缩小未排序元素的范围。 例如对45 ,19, 77, 81, 13, 28, 18, 19, 77进行排序 从左到右:19,45,77,13,28,18,19,77,81 从右到左:13,19,45,77,18,28,19,77,81 从左到右:13,19,45,18,28,18,77,77,81 从右到左:13,18,19,45,18,28,77,77,81 从左到右:13,18,19,18,28,45,77,77,81 从右到左:13,18,18,19,28,45,77,77,81 这时不再发生交换,排序结束。 具体实现: package com.jack.arithmetic; /** /** /**
* 鸡尾酒排序
* @author jack
*
*/
public class CocktailSort {
public static void main(String[] args) {
int[] array = { 10, 3, 5, 31, 37, 5, 0, 9 };
// 对数据排序
sort(array);
for (int el : array) {
System.out.print(el + " ");
}
}
* 排序处理部分
* @param array
*/
static void sort(int[] array) {
int top = array.length - 1;
int bottom = 0;
boolean flag = true;
int i, j;
while (flag) {
flag = false;
// 从小到大,升序
for (i = bottom; i < top; i++) {
if (array[i] > array[i + 1]) {
swap(array, i, i + 1);
flag = true;
}
}
top--;
// 从大到小,降序
for (j = top; j > bottom; j--) {
if (array[j] < array[j - 1]) {
swap(array, j, j - 1);
flag = true;
}
}
bottom++;
}
}
* 数据替换部分
* @param array 给定的数组
* @param i 代替换下标
* @param j 替换部分下标
*/
private static void swap(int[] array, int i, int j) {
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
}
排序结果:0 3 5 5 9 10 31 37
发表评论
-
主题:IT工作检讨书
2010-09-16 17:44 1014由于上周请假的事情,被上级要求写一份检讨书且不少于100字,并 ... -
这里有自己收集整理的关于SVN的东西,1——SVN基本使用手册 2——Subversion 错误信息一览表.3——svn的一些常见问题
2010-08-28 09:29 1259这里我会把我自己整理的东西都贴出来,后面我还会把文档供给大家下 ... -
主题:别为大公司卖命
2010-08-28 09:27 7421.大公司最大的困扰,就是无法准确测量每个员工的贡献。它会 ... -
Javascript——悟透JavaScript
2010-08-27 16:20 967Javascript——悟透JavaS ... -
一个关于得到数字个数的问题?
2010-08-26 10:46 738一个关于得到数字个数的问题? 关键字: java应 ... -
电信拨号器
2010-08-26 10:38 935电信拨号器 关键字: 电信拨号程序、swing ... -
关于RSS的聚合---OPML
2010-08-26 10:34 1649关于RSS的聚合---OPML 关键字: rss,o ... -
hibernate集合映射inverse和cascade详解 (转载)
2010-08-26 10:31 736hibernate集合映射inverse和cascad ... -
互联网高性能系统构建思路
2010-08-26 10:30 666互联网高性能系统构 ... -
程序员修炼之七杀秘技
2010-08-26 10:30 749程序员修炼之七杀秘技 关键字: 程序员修炼、java ... -
Java多线程编程
2010-08-26 10:26 667Java多线程编程 关键 ... -
浅析Hibernate下数据批量处理方法
2010-08-26 10:25 773浅析Hibernate下数据批量处理方法 关键字: ... -
Javascript使用上的几点考虑
2010-08-26 10:24 648Javascript使用上的几点考虑 关键字: js ... -
高级程序员如何应对职场压力?
2010-08-26 10:24 686高级程序员如何应对职场压力? 关键字: 应用职场压力 ... -
认识Web网站的性能测试工具
2010-08-26 10:23 900认识Web网站的性能测试工具 关键字: web网站、 ... -
WebServices秘诀:设计SOA
2010-08-26 10:20 621WebServices秘诀:设计SOA 关键字: w ... -
XFire 入门
2010-08-26 10:20 703XFire 入门 关键字: xfire入门 【 ... -
HttpClient入门
2010-08-26 10:19 735HttpClient入门 关键字: httpclie ... -
JavaScript——延迟加载技术
2010-08-26 10:15 895JavaScript——延迟加载技术 文章分类:We ... -
封闭开发是为何?
2010-08-26 10:00 2509封闭开发是为何? 加班 ...
相关推荐
改进的冒泡排序,对排序的数组进行双向冒泡排序,又称为鸡尾酒排序
经典排序算法 - 鸡尾酒排序Cocktail sort 经典排序算法 - 希尔排序Shell sort 经典排序算法 - 堆排序Heap sort序 经典排序算法 - 地精排序Gnome Sort 经典排序算法 - 奇偶排序Odd-even sort 经典排序算法 - 梳...
自己动手写的数据结构算法,希望能帮到大家。几乎每一句都有注释
常用排序算法总结,包含:冒泡排序、鸡尾酒排序、选择排序、插入排序、二分插入排序、希尔排序、归并排序、堆排序、快速排序等排序算法总结。
用c#语言重写的基本排序算法,里面包含冒泡排序,鸡尾酒排序(双向冒泡),选择排序,插入排序,希尔排序,堆排序,归并排序这几个排序算法。程序可以直接运行。
今天我们来分享一款绝对让你震撼的jQuery插件,它可以模拟各种排序算法的动画,让你很直观的了解各种排序算法实现的原理,如果你纯粹想看排序算法动画,那么...这里提供了插入排序、冒泡排序、鸡尾酒排序这三种动画。
易语言排序算法演示源码,排序算法演示,初始化乱序,保存结果,默认排序,冒泡排序,插入排序,鸡尾酒排序,选择排序,双向选择排序,基数排序,鸽巢排序,快速排序,快速排序子程序
//定向冒泡[鸡尾酒]排序 //选择排序 //改进的选择排序 //直接插入排序 //二分插入排序 //希尔排序 //自顶向下地归并排序 //自底向上地归并排序 //堆排序 //快速排序 //改进的快速排序:三向切分快速排序
查找算法:实现了顺序查找,...排序算法:实现了冒泡排序、鸡尾酒排序、插入排序、桶排序、计数排序、归并排序、鸽巢排序、基数排序、地精排序、图书馆排序、选择排序、希尔排序、堆排序、快速排序、内省排序、耐心排序
鸡尾酒排序(双向冒泡排序)CockTailSort(int *array, int length) 或 BiDirectionalSort(int *array, int length) 3.快速排序 QuickSort(int *array, int length) 归并排序(MergeSort.h) 1.归并排序 MergeSort...
1) 冒泡排序2)桶排序3) 鸡尾酒排序4) 梳状排序5) 计数排序6) 堆排序7) 插入排序8) 归并排序9) 快速排序10) 基数排序11) 选择排序12) 壳排序 代码的编写方式使得它可以很容易地翻译成其他语言(例如,每个实现在 C++...
算法包括冒泡排序算法、鸡尾酒排序算法、插入排序算法和奇偶排序算法。 这些算法接收一个向量并对向量的元素进行排序并将其返回到一个输出向量中。 例如使用冒泡排序算法,您可以执行以下操作: >> A = rand(1,100)...
日常操作中常见的排序方法有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一...
算法-Python 用Python实现的所有算法(用于教育) 这些实现是出于演示目的。 它们的效率不如Python标准库中的实现。 排序算法 气泡排序 冒泡排序(有时也称为... 鸡尾酒摇床排序(也称为双向气泡排序,鸡尾酒排序,摇
鸡尾酒排序 如何? 打开文件“timing.py”并运行它。 如果要对排序算法进行任何更改,则需要打开文件“Disorder.py”。 兼容性 该程序兼容 Python 2.x 和 Python 3.x ##Dependencies 此项目没有依赖项。 它运行在...
今天推荐一个Python学习的干货。 几个印度小哥,在GitHub上建了一个各种Python算法的新手入门大全,现在标星已经超过2.6万。 这个项目主要包括两部分内容:一是各种算法的基本原理...鸡尾酒排序算法 鸡尾酒(Cocktai
中的函数也标明了每个算法的编码): 冒泡排序 - ordBurbuja() 改进的冒泡排序 - ordBurbujaMejorado() 选择排序 - ordSeleccion() 插入排序 - ordInsercion() 摇床排序(也称为鸡尾酒排序) - ordSacudida() 外壳...
鸡尾酒调酒器排序 双向冒泡排序 梳状排序 收缩因子,消灭海龟 计数排序 —— 侏儒排序 被称为愚蠢的排序 堆排序 树排序 插入排序 对(相当)小数据集有效 归并排序 分治算法 奇偶排序 砖类 快速排序 选择排序 壳排序
排序算法可视化工具 基本思想 有时很难概念化算法在做什么,因此进行可视...按“ c”查看鸡尾酒排序 按“ g”查看“侏儒排序” 按“ q”退出程序 排序算法 1.气泡排序 2.选择排序 3.合并排序 4.鸡尾酒排序 5.侏儒排序
它有各种各样的种类:冒泡排序、希尔排序、分块块排序,梳排序,鸡尾酒排序,侏儒排序 —— 这些可不是我瞎编的! 这个算法题能够让我们一睹精彩的世界。我们必须对数字数组进行升序排序,并找出给定数字在该数组中...