Java数组排序(冒泡、选择)
2017-06-12 23:42
316 查看
1.冒泡排序
依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。
2.选择排序
把第一个元素依次和后面的所有元素进行比较。第一次结束后,就会有最小值出现在最前面。依次类推
依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。
public void bubbleSort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) {//需要比较几趟 for (int j = 0; j < arr.length - 1 - i; j++) {//每趟需要比较几次 if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } }
2.选择排序
把第一个元素依次和后面的所有元素进行比较。第一次结束后,就会有最小值出现在最前面。依次类推
public void selectSort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) {//需要比较几趟 for (int j = i + 1; j < arr.length; j++) {//每趟需要比较几次 if (arr[i] > arr[j]) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } }
相关文章推荐
- Java数组排序总结(冒泡,选择,插入,希尔)
- 第九、Java数组的常见操作(冒泡、选择排序、数组翻转)
- Java实现数组排序总结篇(冒泡,选择,插入,希尔)
- Java对一维数组排序:冒泡,选择,插入,比较效率
- Java数组排序(插入,选择,冒泡)+显示排序时间
- Java数组排序总结(冒泡,选择,插入,希尔)
- (转) Java 数组排序总结 ( 冒泡,选择,插入,希尔)
- Java中选择,冒泡,快排原理代码 阶层 数组的排序 数组的排序 以及代码大全
- JAVA 蹒跚自学之 第六日 续 数组排序 之 选择 冒泡
- JAVA 数组的排序方法冒泡、选择、快速、数组递增
- Java数组冒泡,选择,插入三种常用排序法及自带的快速排序法
- JAVA 数组的排序方法冒泡、选择、快速、数组递增
- Java数组排序总结(冒泡,选择,插入,希尔)
- java小程序——给数组随机赋值,查找输入的值以及冒泡和选择排序数组并输出
- Java数组排序总结(冒泡,选择,插入,希尔)
- Java基础(5) -数组排序(冒泡 选择)
- Java-数组排序(选择,冒泡,插入)
- 【转】Java数组排序总结(冒泡,选择,插入,希尔)
- Java数组排序总结(冒泡,选择,插入,…
- 黑马程序员——Java基础 数组排序的两种实现方法,选择和冒泡