冒泡排序是一种简单直观的排序算法,他重复地查看排序的数列,每次比较两个元素,如果这两个元素的顺序错误就将它们相互交换,直到没有再需要交换。
算法步骤
- 比较相邻的元素。如果第一个元素大于第二个元素,就交换它们。
- 对每一对相邻的元素作相同的操作,从开始第一对到末尾的最后一对。
- 针对所有的元素重复以上操作,每次出来最后一个
我们发现每次循环都将最大的元素放在队尾。
代码实现
void bubble_sort(int arr[], int len){
for(int i = 1; i <= len; i++){
for(int j = 1; j <= len - i; j++){//每次都会将最大(最小)的数排在最后一位
if(arr[j] > arr[j+1]) swap(arr[j],arr[j+1]);
}
}
}