void binary(int arr[], int sz) {
int temp = 0;
for (int j = 0;j < sz-1;j++) {
for (int i = 0;i < sz -j-1 ;i++) {
if (arr[i]>arr[i+1]){
temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
}
}
int main(void) {
int arr[] = { 3,2,1,9,18 };
int sz = sizeof(arr) / sizeof(arr[0]);
binary(arr,sz);
for (int i = 0;i<sz;i++) {
printf("%d\n", arr[i]);
}
return 0;
}
冒泡排序法,之前对算法理解不深,只是单纯的在背代码,冒泡排序法,后来又理解了一下,觉得,还是理解一下比较好,有所收获。
首先第一个数与第二个数比较,比较之后进行交换,之后,第二个数与地三个数进行交换,直至到最后,然后最后一个数已经是最大或者最小的,不进行排序,之后另一层进行比较,从第一个数开始比较,依次类推。
希望,在今后的学习中,注重本质,不要做搬运工。