gpt4 book ai didi

c++ - 冒泡排序不工作

转载 作者:行者123 更新时间:2023-11-28 03:21:47 25 4
gpt4 key购买 nike

<分区>

第二次它没有打印出数组。

如果我删除对 bubbleSort( ... ) 的调用,它会起作用。

不明白为什么......这种行为从未发生过,为什么执行者会跳转到 printArray( ... ) 的第二次调用?

有什么建议吗?

#include <iostream>
#include <cstdlib>
using namespace std;

// STRUCT
struct Array
{
int * data;
unsigned int size;
};

// PROTYPES
void printArray( Array & );
void bubbleSort( Array & );

// MAIN
int main(int argc, char **argv)
{
Array array;

array.size = 10;
array.data = new int [ array.size ];

for ( unsigned int i = 0; i < array.size; ++i )
array.data[ i ] = rand() % 10;

printArray( array );
bubbleSort( array );
printArray( array );


return 0;
}

void printArray( Array & array )
{
for ( unsigned int i = 0; i < array.size; ++i )
cout << array.data[ i ] << ' ';

cout << endl;
}

void swap( int & m, int & n )
{
int temp = m;
m = n;
n = temp;
}

void bubbleSort( Array & a )
{
for ( unsigned int i = 0; i < a.size - 1; ++i )
for ( unsigned int j = a.size - 1; j >= i; --j )
if ( a.data[ j-1 ] > a.data[ j ] )
swap( a.data[ j-1 ], a.data[ j ] );

}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com