数组排序之冒泡排序
2017-10-20 10:07
148 查看
package arraysort;
/*2017
* 冒泡排序法
* a.length=6
*a[0] a[1] a[2] a[3] a[4] a[5]
*初始值: 34 19 11 109 3 56
*第一轮:a[0]和a[1]比较,a[0]>a[1]则交换位置,然后a[1]和a[2]在做这个判断.....a[a.length-2]和a[a.length-1]
* 19 11 34 3 56 [109]
*第二轮:a[0]和a[1]比较,a[0]>a[1]则交换位置,然后a[1]和a[2]在做这个判断.....a[a.length-3]和a[a.length-2]
* 11 19 3 34 [56] 209
*...
*如此经过5轮(a.length-1)即可排序
*
*/
public class BubbleSortDemo {
public static void main(String[] args) {
int[] ary={34,19,11,109,3,56};
bubbleSort(ary);
}
public static void bubbleSort(int[] arr) {
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-i-1; j++) {//注意执行效率
// for (int j = 0; j < arr.length-1; j++) {
if (arr[j]>arr[j+1]) {
exchangePosition(arr, j, j+1);
// System.out.println("123");
}
}
printArr(arr);
}
}
//创建一个遍历输出数组的方法
public static void printArr(int[] arr){
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
}
public static void exchangePosition(int a[],int i,int j){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
数组排序之冒泡排序
/*2017
* 冒泡排序法
* a.length=6
*a[0] a[1] a[2] a[3] a[4] a[5]
*初始值: 34 19 11 109 3 56
*第一轮:a[0]和a[1]比较,a[0]>a[1]则交换位置,然后a[1]和a[2]在做这个判断.....a[a.length-2]和a[a.length-1]
* 19 11 34 3 56 [109]
*第二轮:a[0]和a[1]比较,a[0]>a[1]则交换位置,然后a[1]和a[2]在做这个判断.....a[a.length-3]和a[a.length-2]
* 11 19 3 34 [56] 209
*...
*如此经过5轮(a.length-1)即可排序
*
*/
public class BubbleSortDemo {
public static void main(String[] args) {
int[] ary={34,19,11,109,3,56};
bubbleSort(ary);
}
public static void bubbleSort(int[] arr) {
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-i-1; j++) {//注意执行效率
// for (int j = 0; j < arr.length-1; j++) {
if (arr[j]>arr[j+1]) {
exchangePosition(arr, j, j+1);
// System.out.println("123");
}
}
printArr(arr);
}
}
//创建一个遍历输出数组的方法
public static void printArr(int[] arr){
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
}
public static void exchangePosition(int a[],int i,int j){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
数组排序之冒泡排序
相关文章推荐
- 【Java】数组的冒泡排序和选择排序(原理+代码实现)
- java-数组静态初始化、选择排序、冒泡排序、数组的折半查找、折半查找练习
- 数组排序(冒泡排序)
- 数组中排序的一些方法,选择排序,冒泡排序,和数组中自己的方法
- 第十三周项目 4 数组的排序(数字冒泡排序)
- 一维数组常见的三种排序、冒泡排序、选择排序、插入排序、Arrays内置排序
- [Java]数组排序-选择排序 冒泡排序 插入排序
- JAVA数组的两种常见排序(冒泡排序和选择排序)
- day04获取数组的最值,选择排序,冒泡排序,折半查找
- JAVA函数、数组讲解(案例:直接排序、冒泡排序、拆半查找(二分法))
- 定义一个数组工具类!数组选择排序、冒泡排序、获取最大、最小值!
- 常见的两种数组排序:选择排序和冒泡排序
- 数组的选择排序和冒泡排序
- 第十三周项目四 数组的排序(对字符数组进行冒泡排序)
- [Java]数组排序-选择排序 冒泡排序 插入排序
- 黑马程序员java学习— 数组的选择排序和冒泡排序
- 【C语言】【笔试题】使用回调函数编写冒泡排序,可以排序整形数组,也可以排序字符串
- 动态数组实现冒泡排序与选择排序
- Java数组排序——冒泡排序
- 例题:输入学生的各项资料,然后根据学生的分数,重新排序。重新复习结构体,集合,数组,for循环,冒泡排序,水平符的使用。