选择排序和冒泡排序
2017-07-29 09:20
197 查看
//直接选择排序 public class Demo { public static void main(String[] args) { int a[] = {20,3,69,7,32}; int index; for(int i = 0; i < a.length -1; i++){ index = 0;//默认每一轮第一个数最大 for(int j = 1; j < a.length - i; j++){ if(a[index] < a[j]) index = j; } int temp = a[a.length - i -1];//要交换的最后一数 a[a.length - i -1] = a[index]; a[index] = temp; } //输出: for(int k : a){ System.out.print(k + " "); } } } /* 原数: 20,3,69,7,32 原理:将第一个元素与后面的元素比较,若第一个元素比后面任何一个数都要大。 就与最后一个元素交换位置。第二轮将剩下的数比较,重复以上操作、 第一轮: 20,3,32,7,69 第二轮: 20,3,7,32,69 第三轮: 7,3,20,32,69 第四轮: 3,7,20,32,69 输出: 3 7 20 32 69 */
//冒泡排序 /* 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3.针对所有的元素重复以上的步骤,除了最后一个。 4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较 */ public class Demo1 { public static void main(String[] args) { int a[] = {63, 4, 24, 1, 3, 15}; for(int i = 0; i < a.length - 1; i++) { for(int j = 0; j < a.length - i - 1; j++) { if(a[j] > a[j+1]) { int temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } for(int k : a){ System.out.print(k + " "); } } }
输出: 1 3 4 15 24 63
相关文章推荐
- Java常见排序:冒泡排序、快速排序、选择排序、插入排序、归并排序
- 四种基本的排序方法:冒泡排序,选择排序,插入排序,快速排序
- 排序(冒泡排序、选择排序、插入排序)
- 快排 选择排序 冒泡排序 归并排序 希尔排序
- [排序算法,选择排序]--冒泡排序
- 基本的排序算法:冒泡排序、插入排序、希尔排序、选择排序、归并排序、快速排序、堆排序
- 冒泡排序和选择排序
- 内排序(插入排序、冒泡排序、选择排序、shell排序、快速排序、归并排序、堆排序)
- 插入排序、冒泡排序、选择排序、希尔排序、快速排序、归并排序、堆排序和LST基数排序的C++代码实现
- C语言之冒泡排序、选择排序
- (一)Java实现排序,选择排序,快速排序,冒泡排序,插入排序
- 冒泡排序、选择排序、插值排序【转】
- Objective-c 冒泡排序和选择排序
- (基础八)选择排序与冒泡排序
- 简单排序-选择、插入、冒泡排序
- 选择排序、插入排序、冒泡排序python实现
- 图解排序--选择排序,插入排序,冒泡排序
- 基础之路01,选择排序不就是跳了中间交换步骤的冒泡排序嘛
- 选择排序和冒泡排序
- 冒泡排序与选择排序