Java实现冒泡排序
(1)原理:
1、从第一个数据开始,与第二个数据相比较,如果第二个数据小于第一个
数据,则交换两个数据的位置。
2、指针由第一个数据移向第二个数据,第二个数据与第三个数据相比较,
如果第三个数据小于第二个数据,则交换两个数据的位置。
3、依此类推,完成第一轮排序。第一轮排序结束后,最大的元素被移到了
最右面。
4、依照上面的过程进行第二轮排序,将第二大的排在倒数第二的位置。
5、重复上述过程,没排完一轮,比较次数就减少一次。
6、N个数据排序,需要进行N-1轮排序;第i轮排序需要的比较次数为N-i次。
(2)编码思路:
需要两层循环,第一层循环i表示排序轮数,第二层循环j表示比较的次数。
(3)代码实现:
/**
*冒泡排序
*/
public class BobSort{
private int[]array;
private int length;
/**
*构造函数
*/
public BobSort(int[]array){
this.array=array;
this.length=array.length;
}
/**
*打印数组中数据
*/
public void display(){
for(int i:array){
System.out.print(i+"");
}
System.out.println();
}
/**
*冒泡排序
*/
public void bobSort(){
for(int i=0;i<length-1;i++){//排序轮数
for(int j=0;j<length-1-i;j++){//比较次数
if(array[j]>array[j+1]){
int temp=array[j+1];
array[j+1]=array[j];
array[j]=temp;
}
}
}
}
/**
*测试方法
*/
public static void main(String[]args){
int[]array={3,1,2,6,10};
BobSort bobSort=new BobSort(array);
System.out.println("排序前的数据为:");
bobSort.display();
bobSort.bobSort();
System.out.println("排序后的数据为:");
bobSort.display();
}
}
运行结果为:
排序前的数据为:
3 1 2 6 10
排序后的数据为:
1 2 3 6 10
最后:
关注回复“软件测试”即可获取软件测试全套视频教程!