java版:
import java.util.Arrays;
public class Maopao {
public static int[] bubbleSort(int[] arr) {
int n = arr.length;
//若是长度小于2,无需判断,直接返回数据
if (n < 2) {
return arr;
}
for (int i = 0; i < n; i++) {
boolean flag = true;
for (int j = 0; j < n -i - 1; j++) {
if (arr[j + 1] < arr[j]) {
flag = false;
int t = arr[j];
arr[j] = arr[j+1];
arr[j+1] = t;
}
}
//若是一轮下来没有交换过数据,说明现在的排序就是所需的,后面无需再排序了
if(flag)
break;
}
return arr;
}
public static void main(String[] args){
int[] ages= {2,22,12,-2};
System.out.print(Arrays.toString(bubbleSort(ages)));
}
}
python版:
def maopao(array):
n = len(array)
if n < 2:
return array
else:
for i in range(n):
a = 1
for j in range(n-i-1):
if array[j]> array[j+1]:
a = 0
array[j],array[j+1] = array[j+1],array[j]
if a == 1:
break
return array
ages = [2,-1,5,21,12]
print(maopao(ages))