不多BB,直接看代码:
#include<stdio.h>
#include<Windows.h>
void show(int arr[], int num)
{
for (int i = 0; i < num; i++){
printf("%d ",arr[i]);
}
printf("\n");
}
void BubbleSort(int arr[], int num)//数组传参一般而言必须带上数组元素的个数
{
for (int i = 0; i < num - 1; i++){
int flag = 0;
for (int j = 0; j < num-i - 1; j++){//将较大的冒到后边,实质是数字的交换
if (arr[j]>arr[j + 1]){
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
flag = 1;
}
}
if (flag == 0){
break;
}
}
}
int main()
{
int arr[] = { 11, 25, 64, 85, 75, 95, 21, 45, 77, 88, 99 };
int num = sizeof(arr) / sizeof(arr[0]);
show(arr, num); //原数组
BubbleSort(arr, num); //冒泡程序
show(arr, num);//冒泡排序后数组
system("pause");
}