高手帮忙看下这个冒泡排序的问题!!!!
#include "stdafx.h"
#include<iostream>
#include<iomanip>
#include<time.h>
#define ARR_SIZE 8
using namespace std;
void maopaopaixu(int [],int);
void showarray(int [],int);
int main(int argc, char* argv[])
{
int lArray[ARR_SIZE];
srand((unsigned)time(NULL));
cout<<"随机产生的数组,排序前:"<<endl;
for(int n=0;n<ARR_SIZE;n++)
{
lArray[n]=rand();
cout<<setw(8)<<lArray[n];
}
cout<<endl;
cout<<"使用冒泡排序后的数组为:"<<endl;
maopaopaixu(lArray,ARR_SIZE);
showarray(lArray,ARR_SIZE);
cout<<endl;
return 0;
}
void maopaopaixu(int barray[],int b)
{
bool exchange=false;
for(int i=0;i<b-1&&!exchange;i++)————————为什么要设一个 "!exchange"
{
exchange=true;
for(int j=i+1;j<i;j++) //for(int j=b-1;j>i;j--)
{
if(barray[j]<barray[i]) //if(barray[j]<barray[j-1])
{ //{
int t=barray[j]; // int t=barray[j-1];
barray[j]=barray[i]; // barray[j-1]=barray[j];
barray[i]=t; // barray[j]=t;
exchange=false; // exchange=false;
} //}
}
}
}
void showarray(int carray[],int c)
{
for(int n=0;n<c;n++)
cout<<setw(8)<<carray[n];
}
这句代码: for(int i=0;i<b-1&&!exchange;i++)————————中为什么要设一个 "!exchange“
新人不是很理解,高手帮下忙
[ 本帖最后由 BlizzardKen 于 2011-5-6 12:46 编辑 ]