黑马程序员技术交流社区
标题:
敲一遍冒泡排序的代码,大家随意看看,有错可以告诉我
[打印本页]
作者:
ZhangHeng
时间:
2015-7-4 17:11
标题:
敲一遍冒泡排序的代码,大家随意看看,有错可以告诉我
//使用冒泡排序方式对指定程序进行排序
class Demo1
{
public static void main(String[] args)
{
int arr[]={22,63,89,13,6};
//打印原数组
printArray(arr);
//调用排序方法
bubbleSort(arr);
//打印排序后的数组
printArray(arr);
}
/*
冒泡排序
1、先从头角标相邻两个元素之间进行比较,将较大值存放在后一个元素中,然后再与后一个元素的进行比较,直至最大值存放到最后一个元素中。
2、再重复1操作,每次计较次数减一,一圈比完后存放的较大元素不再参与比较。
*/
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++)//-x:让没每一次比较的元素减少。-1:避免角标越界。
{
if(arr[y]>arr[y+1])
swap(arr,y,y+1);
}
}
}
//遍历数组
public static void printArray(int[] arr)
{
System.out.print("[");
for (int x=0;x<arr.length;x++)
{
if(x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.print(arr[x]+"]");
}
//换行
System.out.println();
}
//互换方法
public static void swap(int[] arr,int a,int b)
{
arr[a]=arr[a]^arr[b];
arr[b]=arr[a]^arr[b];
arr[a]=arr[a]^arr[b];
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2