冒泡排序(Bubble Sort)
C/C++代码:
#include <iostream>
#include <stdlib.h>
using namespace std;
void Print( int r[], int n )
{
for( int i = 0; i < n; i++ )
{
cout << r[i] << " ";
}
cout << endl;
}
void Swap( int& a, int & b )
{
int temp = a;
a = b;
b = temp;
}
void BubbleSort( int r[], int n )
{
for( int i = n-1; i > 0; i-- )
{
for( int j = 0; j < i; j++ )
{
if( r[j] > r[j+1] )
Swap( r[j], r[j+1] );
}
}
}
int main()
{
int r[] = { 34, 12, 45, 78, 52, 18, 67, 90, 64, 72, 27 };
int n = sizeof( r ) / sizeof( int );
Print( r, n );
BubbleSort( r, n );
Print( r, n );
system( "PAUSE" );
return 0;
}
代码如下:
C/C++代码
void BubbleSortPro( int r[], int n )
{
bool flag = true;
for( int i = n-1; i > 0 && flag; i-- )
{
flag = false;
for( int j = 0; j < i; j++ )
{
if( r[j] > r[j+1] )
{
Swap( r[j], r[j+1] );
flag = true;
}
}
}
}