排序算法——冒泡排序(Bubble Sort)
2014-08-30 17:49
344 查看
冒泡排序(Bubble Sort)
C/C++代码:
可以在BubbleSort中,添加一个标记,用来记录每趟中是否有数据进行交换。如果在某一趟中没有进行数据交换,则表明已经排序完成,从而可以使冒泡排序提前结束。
代码如下:
C/C++代码
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; }
可以在BubbleSort中,添加一个标记,用来记录每趟中是否有数据进行交换。如果在某一趟中没有进行数据交换,则表明已经排序完成,从而可以使冒泡排序提前结束。
代码如下:
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; } } } }
相关文章推荐
- 排序算法——冒泡排序(Bubble Sort)
- 经典排序算法---冒泡排序(bubble sort)
- 排序算法(一):冒泡排序(Bubble Sort)
- 排序算法-冒泡排序 Bubble Sort
- 常用几种排序算法-冒泡排序(Bubble sort)
- 排序算法---冒泡排序(Bubble Sort)
- 【排序算法】冒泡排序 bubble sort(交换类排序)
- PHP实现排序算法----冒泡排序(Bubble Sort)
- 排序算法总结之冒泡排序 Bubble Sort
- 排序算法--冒泡排序(Bubble Sort)_C#程序实现
- 图解排序算法及C语言实现之 ------ 冒泡排序:Bubble Sort
- 排序算法-09-冒泡排序(Bubble Sort)
- 排序算法-冒泡排序(Bubble Sort)
- PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
- 排序算法(一):冒泡排序 Bubble Sort
- 排序算法之冒泡排序(Bubble Sort)
- 两个排序算法--冒泡排序,选择排序
- C语言练习0之数组——数组元素求和与数组冒泡排序(bubble sort)
- 排序算法之“选择排序-冒泡排序-插入排序”
- 排序算法系列之冒泡排序 (3)