gpt4 book ai didi

c++ - C++ 简介 : Sorting code

转载 作者:行者123 更新时间:2023-11-28 00:42:56 26 4
gpt4 key购买 nike

我正在为今天安排的期末考试而学习。我的问题是,do-while(swap) 语句在这里做什么?默认情况下交换设置为“真”吗?

我对这段代码的理解是,它在每次排序时至少迭代一次。内部的 for 循环携带关键代码并在传递中进行所有交换。例如,array[count] 被复制到 temp,array[count+1] 被复制到 array[count],array[count] 被复制到 array[count+1]。如果交换两个元素,则 bool swap 设置为 true。外层循环不断迭代,直到发现交换标志为 false。

void sortArray(int array[], int size)
{
int size;
bool swap;

do
{
swap = false;
for(int count = 0; count < (size -1); count++)
{
if(array[count] > array[count+1])
{
temp = array[count];
array[count] = array[count+1];
array[count+1] = temp;
swap = true;
}
}
}while(swap);
}

最佳答案

Swap 用于检查算法是否仍在排序。如果swap为false,表示数组已经排序,算法可以结束。

默认情况下(在 do-while 循环的每次迭代开始时)swap 设置为 false 并且仅更改为 true如果进行了交换(这意味着数组元素的顺序不正确)。

关于c++ - C++ 简介 : Sorting code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17868004/

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