算法基础--冒泡排序
2016-11-10 16:49
176 查看
最近整理了一些算法相关的东西,有些简单一些,有些却较复杂,处于对这些经典算法的认知,在这里写篇文章记录下,方便大家学习讨论。
冒泡排序法,顾名思义,原理是对于一个数组,从一侧开始比较相邻的两个数字,大的沉下去,小的飘上来。也就是不符合排序规则的两个数互换位置。
实例如下:对于 35 67 23 53
1. 35 67 23 53
2. 35 23 67 53
3. 35 23 53 67
4.
23 35 53 67
5. 23
35 53 67
java版本代码如下
</pre><pre name="code" class="java">import java.util.Random;
public class heapSort {
public static void main(String args[]) {
// buildNum();
bubbleSort();
}
public static void buildNum() {
Random ran = new Random();
for (int i = 0; i < 20; i++) {
System.out.print(ran.nextInt(99) + ",");
}
}
/**
* 冒泡排序法
*/
public static void bubbleSort() {
int a[] = { 17, 66, 83, 4, 9, 24, 35, 11, 13, 8, 27, 39, 69, 66, 46, 1,
5, 7, 70, 59 };
int temp = 0;
int count = 0;
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length - i - 1; j++) {
count++;
if (a[j] > a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
System.out.println("总步数:" + count);
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
}
}
冒泡排序法,顾名思义,原理是对于一个数组,从一侧开始比较相邻的两个数字,大的沉下去,小的飘上来。也就是不符合排序规则的两个数互换位置。
实例如下:对于 35 67 23 53
1. 35 67 23 53
2. 35 23 67 53
3. 35 23 53 67
4.
23 35 53 67
5. 23
35 53 67
java版本代码如下
</pre><pre name="code" class="java">import java.util.Random;
public class heapSort {
public static void main(String args[]) {
// buildNum();
bubbleSort();
}
public static void buildNum() {
Random ran = new Random();
for (int i = 0; i < 20; i++) {
System.out.print(ran.nextInt(99) + ",");
}
}
/**
* 冒泡排序法
*/
public static void bubbleSort() {
int a[] = { 17, 66, 83, 4, 9, 24, 35, 11, 13, 8, 27, 39, 69, 66, 46, 1,
5, 7, 70, 59 };
int temp = 0;
int count = 0;
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length - i - 1; j++) {
count++;
if (a[j] > a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
System.out.println("总步数:" + count);
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
}
}
相关文章推荐
- python实现基础排序算法之(冒泡排序)
- 黑马程序员—Java基础学习笔记之排序算法:选择排序&冒泡排序
- 【算法基础】冒泡排序
- 排序算法---基础算法(冒泡排序,快速排序,选择排序,直接插入排序,桶排序)
- *《java基础算法——冒泡排序》
- 【算法基础】冒泡排序
- 基础算法--排序: 之冒泡排序
- 数据结构与算法——三种基础排序算法C#实现(冒泡排序、选择排序、插入排序)
- 基础算法之 冒泡排序
- 基础算法系列(二)——冒泡排序
- 基础算法 冒泡排序
- 算法基础-冒泡排序
- 数据结构基础算法整理归纳:冒泡排序(二)
- 基础算法 :冒泡排序,选择排序。。。。
- 基础算法之排序(1)--冒泡排序 改进
- 基础算法-冒泡排序
- java 算法基础之六插入排序与冒泡排序
- 算法基础——冒泡排序
- 几个基础算法介绍和实现——冒泡排序
- 算法基础之排序篇-冒泡排序