JAVA 冒泡排序
JAVA 冒泡排序
冒泡排序就是排序过程中总是大数往前放,小数往后放,相当于气泡往上升,所以称作冒泡排序
依次比较相邻的两个数,将大数放在前面,小数放在后面。即首先比较第1个和第2个数,将大数放前,小数放后。然后比较第2个数和第3个数,将大数放前,小数放后,如此继续,直至比较最后两个数,将大数放前,小数放后,此时第一趟结束,在最后的数必是所有数中的最小数。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再大于第2个数),将大数放前,小数放后,一直比较到最小数前的一对相邻数,将大数放前,小数放后,第二趟结束,在倒数第二个数中得到一个新的最小数。如此下去,直至最终完成排序。
下面给出i的循环次数
第一次i=0,(j=1->2->3->.......................7);j 7次
第二次i=1,(j=2->3->4->........................7);j 6次
。。。。。。。。。。。。。。。。
第7次i=6,(j=7);j 1次
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[]={3,5,1,2,7,8,4,6};
maopao(a);
}
//算法如下..........................................
public static void maopao(int []a) {
for (int i = 0; i < a.length; i++) {
for (int j = i+1; j < a.length; j++) {
if (a[i]<a[j]) {
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
//...............................................................
for (int i : a) {
System.out.println(i+" ");
}
}
}
输出结果
8
7
6
5
4
3
2
1
评论暂时关闭