gpt4 book ai didi

c++ - 你如何在 C++ 中使用带指针的冒泡排序?

转载 作者:太空狗 更新时间:2023-10-29 21:08:53 25 4
gpt4 key购买 nike

到目前为止,这是我所拥有的:

void sortArray(int amountOfScores, int* testScores)
{
for(int i = 0; i < amountOfScores; i++)
{
for(int j = 0; j < amountOfScores-1; j++)
{
if(*(testScores+i) > *(testScores+j+1))
{
int temp = *(testScores+j);
*(testScores+j) = *(testScores+j+1);
*(testScores+j+1) = temp;
}
}
}
for(int i = 0; i < amountOfScores; i++)
{
cout << *(testScores+i) << endl;
}
}

基本上,我试图读入用户想要输入的数字,然后按升序对它们进行排序。问题是我必须使用指针,但我从来没有真正理解过它们。上面的这段代码适用于 3 个数字,但是,添加更多数字会导致它无法对它们进行排序……我已经尽我所能尝试解决问题,但在没有任何指针知识的情况下我不知道我在寻找什么。

感谢您的帮助!

最佳答案

你的问题可能出在这里:

    if(*(testScores+i) > *(testScores+j+1)) 

你的意思是:

        if(*(testScores+j) > *(testScores+j+1)) 

(注意 i 替换为 j)。

顺便说一句,在冒泡排序中,如果没有交换,你应该中断。在某些情况下,这会导致速度加快。

关于c++ - 你如何在 C++ 中使用带指针的冒泡排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2214805/

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