排序算法-冒泡
2016-03-14 14:01
357 查看
今天开始回顾下以前学习的东西了,首当其冲的就是几种常见的算法了:冒泡排序,选择排序,以及插入排序
冒泡排序
冒泡排序顾名思义,将比较之后的结果像泡泡一样往上移动。首先举个例子:{49,38,65,97,5},冒泡排序的步骤分为如下:
(1)49与38比较,交换位置{38,49,65,97,5}
(2)49与65比较不需要交换
(3)65与97比较也不需要比较
(4)97与5比较交换位置{38,49,65,5,97},这一步结束之后,最大的数值97已经移到了最后面,再重复以上的步骤直到全部完成,代码如下:
test程序:
结束!谢谢
冒泡排序
冒泡排序顾名思义,将比较之后的结果像泡泡一样往上移动。首先举个例子:{49,38,65,97,5},冒泡排序的步骤分为如下:
(1)49与38比较,交换位置{38,49,65,97,5}
(2)49与65比较不需要交换
(3)65与97比较也不需要比较
(4)97与5比较交换位置{38,49,65,5,97},这一步结束之后,最大的数值97已经移到了最后面,再重复以上的步骤直到全部完成,代码如下:
//Pop algorithm. public static int[] Pop(int[] input) { for (int i = 0; i < input.length; i++) { for (int j = 1; j < input.length - i; j++) { if (input[j - 1] > input[j]) { int temp = input[j - 1]; input[j - 1] = input[j]; input[j] = temp; } } } return input; }
test程序:
@Test public void testMain() throws Exception { int a[] = {49, 38, 65, 97, 76, 13, 27, 49, 78, 34, 12, 64, 5, 4, 62, 99, 98, 54, 56, 17, 18, 23, 34, 15, 35, 25, 53, 51}; assertArrayEquals(AlgorithmRevise.Pop(a),new int[]{4,5,12,13,15,17,18,23,25,27,34,34,35,38,49,49,51,53,54,56,62,64,65,76,78,97,98,99}); }
结束!谢谢
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序