冒泡算法的两种方法(java描述)

(端午放假今天终于回来了,打起鸡血继续)

之前学c的时候学过一种简单的冒泡算法,比较好理解,今天在书上看到了另一种,有些复杂,看了好一会在弄明白。

以数组num[]={8,3,5,4,2,6}为例;

先说以前学的那种方法:

 1 int num[]={8,3,5,4,2,6};
 2 for(int i=0;i){
 3     for(int j=0;j ){
 4         if(num[j]>num[j+1]){
 5             int temp=num[j];
 6             num[j]=num[j+1];
 7             num[j+1]=temp;
 8         }              
 9     }
10 }

今天在遇见的一种方法:

1 int num[]={8,3,5,4,2,6};
2 for(int i=1;i){
3     for(int j=0;j){
4         if(num[i]<num[j]){
5             int temp=num[i];
6             num[i]=num[j];
7             num[j]=temp;
8         }
9     

有点不好理解,是将i前面的从小到大一次排列,直到i=num.length

 

转载于:https://www.cnblogs.com/whitemaple/p/9198379.html

你可能感兴趣的:(冒泡算法的两种方法(java描述))