算法描述: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个,即需要进行length-1次。
java:
public class Main {
public static void main(String[] args) {
int[] nums = {23, 45, 13, 9, 47, 11, 8, 73};
bubbleSort(nums);
for (int i:nums){
System.out.println(i);
}
}
public static void bubbleSort(int[] numbers){
int n = numbers.length;
for (int i=0;i<n-1;i++){
for (int j=0;j<n-1-i;j++){
if (numbers[j] > numbers[j+1]){
int res = numbers[j];
numbers[j] = numbers[j+1];
numbers[j+1] = res;
}
}
}
}
}
Python:
def bubblesort(nums):
for i in range(len(nums) - 1):
for j in range(len(nums) - 1 - i):
if nums[j] > nums[j + 1]:
nums[j], nums[j + 1] = nums[j + 1], nums[j]
return nums
if __name__ == '__main__':
list = [23, 4, 36, 90, 37, 99]
print(bubblesort(list))