我正在學習期末考試。我的問題是,do-while(交換)語句在這裏做什麼?默認情況下swap是否設置爲「true」?C++簡介:排序代碼
我對這段代碼的理解是它對每一次遍歷都至少迭代一次。內部for循環攜帶關鍵代碼並執行所有交換。例如,將array [count]複製到temp中,將array [count + 1]複製到array [count]中,並將array [count]複製到array [count + 1]中。如果兩個元素交換,則bool交換設置爲true。外循環不斷迭代,直到找到交換標誌爲假。
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'?接下來的聲明將其設置爲false。 – chris