我正在尝试学习冒泡排序算法。互联网上的大部分代码都是 使用布尔变量。但我想在没有布尔的情况下这样做。
using namespace std;
int main ()
{
int n;
int k;
int temp;
int arr[6] = {9,7,8,6,4,2};
for(n=0;n<6;n++){
for(k=0;k<n-1;k++){
if(arr[k]>arr[k+1]){
temp = arr[k+1];
arr[k+1]=arr[n];
arr[k] = temp;
}
}
}
for(n=0;n<6;n++){
cout<< arr[n] << endl;
}
}
答案 0 :(得分:4)
将您的代码更改为
for(n=0;n<6;n++){
for(k=0;k<5;k++){
if(arr[k]>arr[k+1]){
temp = arr[k];
arr[k]=arr[k+1];
arr[k+1] = temp;
}
}
}
你的逻辑永远不会起作用,因为:
希望有所帮助