(端午放假今天终于回来了,打起鸡血继续)
之前学c的时候学过一种简单的冒泡算法,比较好理解,今天在书上看到了另一种,有些复杂,看了好一会在弄明白。
以数组num[]={8,3,5,4,2,6}为例;
先说以前学的那种方法:
1 int num[]={8,3,5,4,2,6}; 2 for(int i=0;i<num.length;i++){ 3 for(int j=0;j<num.length-i-1;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<num.length;i++){ 3 for(int j=0;j<num.length;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
时间: 2024-10-11 22:54:48