冒泡的基本思路:从元素最后处开始向前多遍扫描(邻位比较),遇到逆序元素就交换位置,使得每次扫面都能将扫面区中的最小值移至最前位置
#include <stdio.h> void bubble_sort(int arr[] ,int length) { int i,j; for (i = 0; i < length; i++){ for (j = length-1; j>i ; j--){ if (arr[j-1] > arr[j]){ int tmp = arr[j-1]; arr[j-1] = arr[j]; arr[j] = tmp; } } } } int main(int argc,char *args[]) { int arr[] = {6,4,5,67,78,45,534,5,57,65,75,346,8,54}; bubble_sort(arr,sizeof(arr)/sizeof(int)); int i; for (i = 0; i < sizeof(arr)/sizeof(int); i++){ printf("%d ",arr[i]); } return 0; }
时间: 2024-12-28 10:49:28