冒泡排序随机数

Bubble sorting random numbers

本文关键字:随机数 冒泡排序      更新时间:2023-10-16

我正在尝试使用冒泡排序来对一组随机数进行排序。但是我的代码导致了一个混乱的顺序。例如,它不是对9 12 15 100 150进行排序,而是将其排序为12 15 100 9 150。任何帮助都将不胜感激。下面是我的代码。

#include <iostream>
#include <cstdlib>
using namespace std;
void sortArray(int[], int);
void showArray(const int[], int);
int main() 
{
const int MIN_VALUE = 1;
const int MAX_VALUE = 200;
int numbers[MAX_VALUE]; 
for (int count = 0; count < MAX_VALUE; count++)
   {
    numbers[count] = (rand() % (MAX_VALUE - MIN_VALUE + 1)) + MIN_VALUE;
    cout << numbers[count]<< endl;
    sortArray(numbers, count);
    showArray(numbers, count);
   }
} 
void sortArray(int numbers[], int size)
{
   bool swap;
   int temp;
 do
{
    swap = false;
    for (int count = 0; count < (size -1); count++)
    {
        if (numbers[count] > numbers[count + 1])
        {   
            temp = numbers[count+1];
            numbers[count+1] = numbers[count];
            numbers[count] = temp;
            swap = true;
        }
    }
 } while (swap);
}
void showArray(const int numbers[], int size)
{
 for (int count = 0; count < size; count++)
     cout <<numbers[count] << endl;
}

感谢

排序代码是正确的。

唯一的问题是,在填充数据的同一个循环中调用排序并打印出数组。

您应该首先填充所有数据,然后排序,然后显示排序后的结果。