gpt4 book ai didi

c++ - 数组排序失败

转载 作者:行者123 更新时间:2023-11-28 01:06:55 25 4
gpt4 key购买 nike

我正在尝试按升序对由 1 到 10 之间的随机数组成的数组进行排序。我想出了这个功能:

void Sort(int a[10], int n)
{
int j = 0;
for (int i = 0; i < n-1; i++)
{
j = i+1;
if (a[i] > a[j])
{
int aux = a[i];
a[i] = a[j];
a[j] = aux;
}
}
}

但是当我尝试输出数组时,该函数似乎不起作用:

Sort(array, 10);

cout<<endl;

for (int i = 0; i < 10; i++)
{
cout<<array[i]<<" ";
}

最佳答案

Sort 函数中的算法是错误的。它根本不排序。

无论如何,不​​要重新发明轮子,最好使用 std::sort 作为:

#include <algorithm>

std::sort(array, array+10);

至于您的Sort 功能,您希望使用冒泡排序算法实现该功能,可能出于学习目的。正确的实现是这样的:

void Sort(int *a, int n)
{
for (int i = 0; i < n ; i++)
{
for (int j = i + 1; j < n ; j++)
{
if (a[i] > a[j])
{
int aux = a[i];
a[i] = a[j];
a[j] = aux;
}
}
}
}

关于c++ - 数组排序失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5597532/

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