怎么实现鸡尾酒排序算法
在我们做开发中,不论你采用什么语言做开发工具,都需要积累,或者掌握一些算法,作为我们解决一些业务的手段;其中,在排序的算法,鸡尾酒排序作为经典算法中的一种,历来为广大程序员所喜爱,笔者本人也是受益匪浅;下面,就通过实例来讲解一下,如何实现鸡尾酒排序算法;
最终实现的效果如下图:
步骤/方法
- 01
问题简介和思路: a) 问题:有一长度为n的数组,我们要把数组内的数据,按照从小到大的顺序排列出来; b) 思路:鸡尾酒排序,又称搅拌排序和涟漪排序,也称为冒泡派排序,只不过这里是双向冒泡排序法;其过程是: i. 先对数组从左到右进行升序的冒泡排序; ii. 再对数组进行从右到左的降序的冒泡排序; iii. 以此类推,持续的、依次的改变冒泡的方向,并不断缩小没有排序的数组范围; iv. 例如:对数组内的602、544、414、21这几个成员进行排序, 从左到右:21、602、544、414 从右到左:21、414、602、544 从左到右:21、414、544、602
- 02
实例/步骤: a) 创建一个控制台应用程序,该程序中首先定义个静态的int类型的数组,用来准备排序的数组;数组为:static int[] intArray; b) 定义一个类,这个类是为了对数组内其中的的两个数进行交换排序用的;方法名为:change;如下:c) 定义一个方法,这个方法是用来实现鸡尾酒排序的方法,这个数组是一维数组,,类型为int型,方法名为:CatchSorts;如下:d) 再定义一个方法,用来调用CatchSorts()对指定的数组进行鸡尾酒排序,该方法中定义个一个一维的int型数组,用来表示要排序的数组,方法名为:sort;如下:e) 最后,在Main方法中,我们首先定义一个int类型的数组,然后条用sort()来进行排序,最后循环遍历出数组中的每个数字;如下:
- 03
最后的效果如下图: