冒泡排序算法
写一个函数对数组arr[] = {9, 8, 7, 6, 3, 1, 2}进行排序,升序
//冒泡排序算法(两两之间相比较,进行排序) #includevoid bubble_sort(int arr[],int sz) { int i = 0; //确定冒泡排序所需要的趟数 for (i = 0; i < sz-1; i++) { //每一趟冒泡排序 int j = 0; //假设这一趟要排序的数据已经有序 int flag = 1; for (j = 0; j < sz-1-i; j++ ) { if (arr[j] > arr[j + 1]) { int tmp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = tmp; flag = 0;// 本趟排序的数据不完全有序 } } if (flag == 1) { break; } } } int main() { int arr[] = {9, 8, 7, 6, 3, 1, 2}; int sz = sizeof(arr)/sizeof(arr[0]); //对arr进行排序,排成升序 //arr是数组,我们对数组arr进行传参,实际上传递过去的是数组首元素的地址&arr[0] bubble_sort(arr,sz);//冒泡排序函数 int i = 0; for (i = 0; i < sz; i++) { printf("%d ",arr[i]); } printf("n"); return 0; }



