黑马程序员技术交流社区
标题:
分别用for循环 和while循环编译一个冒泡排序的案例
[打印本页]
作者:
shuibole
时间:
2015-9-2 22:17
标题:
分别用for循环 和while循环编译一个冒泡排序的案例
分别用for循环 和while循环编译一个冒泡排序的案例.
从小到大排序.
并详细解释代码块的功能
作者:
xiaozeiyes
时间:
2015-9-3 09:09
public class Demo
{
public static void main (String args[])
{
//定义一个无序数组,等待排序
int []array={67,45,55,34,31,49,29};
System.out.println("冒泡排序");
//调用下面的静态方法maoPao();参数为数组array
maoPao(array);
System.out.println();
}
//静态方法maoPao(),参数array数组
public static void maoPao(int []array)
{
for(int i=0;i<array.length;i++)//比较次数
{
for(int j=0;j<array.length-i-1)//数组元素,两两比较次数
if(array[j]>array[j+1])//数组中两两元素比较
{
//交换位置
int temp=array[j];
array[j]=array[j+1];
array{j+1]=temp;
}
}
}
//直到比较结束,打印出新数组
for(int i=0;i<array.length;i++)
{
System.out.print(array[i]+" ");
}
}
作者:
blackpig
时间:
2015-9-3 09:51
xiaozeiyes 发表于 2015-9-3 09:09
public class Demo
{
public static void main (String args[])
借兄的代码,我优化一下置换功能:
public class Demo
{
public static void main (String args[])
{
//定义一个无序数组,等待排序
int []array={67,45,55,34,31,49,29};
System.out.println("冒泡排序");
//调用下面的静态方法maoPao();参数为数组array
maoPao(array);
System.out.println();
}
//静态方法maoPao(),参数array数组
public static void maoPao(int []array)
{
for(int i=0;i<array.length;i++)//比较次数
{
for(int j=0;j<array.length-i-1)//数组元素,两两比较次数
if(array[j]>array[j+1])//数组中两两元素比较
{
//交换位置(优化部分:如果在这个代码中再加入其他方法,这个置换函数可体现代码的复用性
)
Swap(arrary,j,j+1);
}
}
}
public static void Swap(int[] array,int a,int b) //定义一个方法,实现两个数的互换。
{
int temp=array[a];
array[a]=array
;
array
=temp;
}
//直到比较结束,打印出新数组
for(int i=0;i<array.length;i++)
{
System.out.print(array
+" ");
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2