C++ 我能';Don’我不知道用for循环5次进行冒泡排序的逻辑
做冒泡排序比使用给定代码复制和粘贴for循环5次更有效的方法是什么 我的逻辑是检查数组[1](9)是否比数组[2](6)大,因为它会交换元素。但是一旦它到达数组的末尾,我必须复制并粘贴for循环,这样冒泡排序算法将重新开始检查数组 我没有使用变量,而是使用动态分配,因为它更容易理解C++ 我能';Don’我不知道用for循环5次进行冒泡排序的逻辑,c++,algorithm,bubble-sort,C++,Algorithm,Bubble Sort,做冒泡排序比使用给定代码复制和粘贴for循环5次更有效的方法是什么 我的逻辑是检查数组[1](9)是否比数组[2](6)大,因为它会交换元素。但是一旦它到达数组的末尾,我必须复制并粘贴for循环,这样冒泡排序算法将重新开始检查数组 我没有使用变量,而是使用动态分配,因为它更容易理解 #include <iostream> int main() { int array[] = { 9, 6, 2, 8, 3, 1, 7, 5, 4 }; int temp;
#include <iostream>
int main()
{
int array[] = { 9, 6, 2, 8, 3, 1, 7, 5, 4 };
int temp;
for (int i = 0; i < 8; i++)
{
if (array[i] > array[i + 1])
{
temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
}
}
for (int i = 0; i < 8; i++)
{
if (array[i] > array[i + 1])
{
temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
}
}
for (int i = 0; i < 8; i++)
{
if (array[i] > array[i + 1])
{
temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
}
}
for (int i = 0; i < 8; i++)
{
if (array[i] > array[i + 1])
{
temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
}
}
for (int i = 0; i < 8; i++)
{
if (array[i] > array[i + 1])
{
temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
}
}
for (int i = 0; i < 8; i++)
{
std::cout << array[i] << std::endl;
}
}
#包括
int main()
{
int数组[]={9,6,2,8,3,1,7,5,4};
内部温度;
对于(int i=0;i<8;i++)
{
if(数组[i]>数组[i+1])
{
温度=阵列[i];
数组[i]=数组[i+1];
阵列[i+1]=温度;
}
}
对于(int i=0;i<8;i++)
{
if(数组[i]>数组[i+1])
{
温度=阵列[i];
数组[i]=数组[i+1];
阵列[i+1]=温度;
}
}
对于(int i=0;i<8;i++)
{
if(数组[i]>数组[i+1])
{
温度=阵列[i];
数组[i]=数组[i+1];
阵列[i+1]=温度;
}
}
对于(int i=0;i<8;i++)
{
if(数组[i]>数组[i+1])
{
温度=阵列[i];
数组[i]=数组[i+1];
阵列[i+1]=温度;
}
}
对于(int i=0;i<8;i++)
{
if(数组[i]>数组[i+1])
{
温度=阵列[i];
数组[i]=数组[i+1];
阵列[i+1]=温度;
}
}
对于(int i=0;i<8;i++)
{
std::cout您似乎已经知道可以通过使用循环重复某些内容。如果要重复循环,只需将其放入循环中:
for (int j = 0; j < 8; j++)
for (int i = 0; i < 8; i++)
{
if (array[i] > array[i + 1])
{
temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
}
}
for(int j=0;j<8;j++)
对于(int i=0;i<8;i++)
{
if(数组[i]>数组[i+1])
{
温度=阵列[i];
数组[i]=数组[i+1];
阵列[i+1]=温度;
}
}
我不清楚你为什么只想这样做5次,虽然5次没有什么特别的
另外,请注意,这不是编写冒泡排序的最有效方法(例如,您不需要检查已冒泡的元素)。您似乎已经知道可以使用循环重复某些内容。如果要重复循环,只需将其放入循环中:
for (int j = 0; j < 8; j++)
for (int i = 0; i < 8; i++)
{
if (array[i] > array[i + 1])
{
temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
}
}
for(int j=0;j<8;j++)
对于(int i=0;i<8;i++)
{
if(数组[i]>数组[i+1])
{
温度=阵列[i];
数组[i]=数组[i+1];
阵列[i+1]=温度;
}
}
我不清楚你为什么只想这样做5次,虽然5次没有什么特别的
另外,请注意,这不是编写冒泡排序的最有效方法(例如,您不需要检查已经冒泡的元素).在冒泡排序中,你重复直到完成。也许你可以使用循环?在冒泡排序中,你重复直到完成。也许你可以使用循环?当我执行5次时,整个数组都会被排序,任何小于5次的数组都可能无法从最低到最高正确排序,但有些输入即使经过5次迭代也无法正常工作。请尝试一个向量,即In降序。我明白了。那么什么是最佳的方法呢?只需在线搜索气泡排序
。这方面有很多可用的资源,任何好的教科书都会有这些信息。当我做5次时,整个数组都会被排序,如果少于5,它将无法从最低到最高正确排序e、 但是有些输入即使在5次迭代中也不起作用。请尝试按降序排列的向量。我明白了。那么,最好的方法是什么呢?只需在线搜索气泡排序
。这方面有很多可用的资源,任何好的教科书都会有这些信息。