Java数组-冒泡排序2
来源:互联网 发布:haoduofuli新域名 编辑:程序博客网 时间:2024/06/06 09:41
class BubbleSort
{
public static void main(String[] args)
{
int[] arr = {19,22,13,2,24,9,1};
bubbleSort_2(arr);
System.out.println("Hello World!");
bubbleSort(arr);
}
public static void bubbleSort(int[] arr)
{
for(int x=0;x<arr.length-1;x++)
{
for(int y=0;y<arr.length-1-x;y++)
{
if(arr[y]>arr[y+1])
{
int temp = arr[y+1];
arr[y+1] = arr[y];
arr[y] = temp;
}
}
for(int z=0;z<arr.length;z++)
{
System.out.print(arr[z]+",");
}
System.out.println();
}
}
public static void bubbleSort_2(int[] arr)
{
for(int x = arr.length-1;x>0;x--)
{
for(int y = 0;y<x;y++)
{
if(arr[y]>arr[y+1])
{
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
for(int z=0;z<arr.length;z++)
{
System.out.print(arr[z]+",");
}
System.out.println();
}
}
}
上面冒泡排序中的位置交换代码重复性较高,可以通过将位置交换功能抽离出来形成一个函数,提高代码的复用性。
可以改为
public static void swap(int[] arr, int a, int b)
{
int temp = arr[a];
arr[a] = arr [b];
arr[b] = temp;
}
经过改善后的程序为
class BubbleSort
{
public static void main(String[] args)
{
int[] arr = {19,22,13,2,24,9,1};
bubbleSort_2(arr);
System.out.println("Hello World!");
int[] arr2 = {19,22,13,2,24,9,1};
bubbleSort(arr2);
}
public static void bubbleSort(int[] arr)
{
for(int x=0;x<arr.length-1;x++)
{
for(int y=0;y<arr.length-1-x;y++)
{
if(arr[y]>arr[y+1])
{
swap(arr,y,y+1);
/*
int temp = arr[y+1];
arr[y+1] = arr[y];
arr[y] = temp;
*/
}
}
for(int z=0;z<arr.length;z++)
{
System.out.print(arr[z]+",");
}
System.out.println();
}
}
public static void bubbleSort_2(int[] arr)
{
for(int x = arr.length-1;x>0;x--)
{
for(int y = 0;y<x;y++)
{
if(arr[y]>arr[y+1])
{
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
for(int z=0;z<arr.length;z++)
{
System.out.print(arr[z]+",");
}
System.out.println();
}
}
public static void swap(int[] arr, int a, int b)
{
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
}
程序中只有一处用swap函数替代了原有的位置交换代码,另一处没有替代,当然替代会更好。
- Java数组-冒泡排序2
- java数组冒泡排序
- Java数组-冒泡排序
- java数组--冒泡排序
- Java数组排序-冒泡排序
- Java数组实现冒泡排序
- 7 Java数组,冒泡排序
- Java 数组之冒泡排序
- Java数组练习冒泡排序
- Java 数组实现冒泡排序
- Java二维数组冒泡排序
- Java中数组冒泡排序
- java二维数组冒泡排序
- 冒泡排序Java数组应用
- java 冒泡排序,数组排序算法 :冒泡排序
- Java数组排序——冒泡排序
- java-冒泡排序 选择排序 二维数组
- java之数组冒泡排序和list冒泡排序
- 解决nginx+php(php-fpm)出现502 bad gateway问题
- 超Easy!!! Git入门
- 关于myeclipse10.7破解的问题(破解不成功显示只有五天可用可激活)
- 【web】js添加附件功能(显示进度条)——添加附件-demo01
- const的位置和不同位置产生的区别
- Java数组-冒泡排序2
- 解决ajax跨域访问 为了方便以后查看
- EventBus使用详解(一)——初步使用EventBus
- 同一个tomcat不同项目的session共享问题
- 文章标题
- activeMQ安装配置
- Oracle PL/SQL入门语法点
- Git安装配置
- 顺序表应用2:多余元素删除之建表算法