#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define LENGTH 10
void get_array(int * array, int len);
void bubble_sort(int * array, int len);
void print_array(int * array, int len);
int main()
{
int array[LENGTH] = {0};
get_array(array, LENGTH);
bubble_sort(array, LENGTH);
return 0;
}
void get_array(int * array, int len)
{
srand(time(NULL));
for (int i = 0; i < len; i++)
{
array[i] = rand() % 90 + 10; // [10, 99]
}
print_array(array, len);
}
void print_array(int * array, int len)
{
for (int i = 0; i < len; i++)
{
printf("%d ", array[i]);
}
printf("\n");
}
void bubble_sort(int * array, int len)
{
int i = 0, j = 0, temp = 0, count = 0;
for (j = 0; j < len - 1; j++)
{
for (i = 0; i < len - 1 - j; i++)
{
if(array[i] > array[i + 1])
{
temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
count++;
}
}
printf("第[%d]趟排序后的数组:\n", j+1);
print_array(array, len);
}
printf("共交换[%d]次\n", count);
}
温馨提示:答案为网友推荐,仅供参考