算法之冒泡排序
2012-07-14 11:52
239 查看
算法系列之冒泡排序
时间复杂度:O(n^2)
空间复杂度:O(1)
图示:
说明:冒泡排序每次从数组的最后一个往前比,把该轮最小的元素往前移到对应位置,如第i轮迭代把第i小的元素移到数组的第i位置,该轮最小的元素就像气泡一样从数组上升到对应位置。图中是i==0时,最小元素1移到第0位置。
时间复杂度:O(n^2)
空间复杂度:O(1)
图示:
说明:冒泡排序每次从数组的最后一个往前比,把该轮最小的元素往前移到对应位置,如第i轮迭代把第i小的元素移到数组的第i位置,该轮最小的元素就像气泡一样从数组上升到对应位置。图中是i==0时,最小元素1移到第0位置。
/** @brief 冒泡排序 * * @param pData int* 待排序数组 * @param nSize int 持排序数组大小 * @return void * */ void BubbleSort( int *pData, int nSize ) { // 进行n轮迭代,每次把剩下的最小值移到最前面去 for ( int i = 0; i < nSize; ++i ) { for ( int j = nSize - 1; j > i; --j ) if ( pData[j] < pData[j - 1] ) { int nTmp = pData[j]; pData[j] = pData[j - 1]; pData[j - 1] = nTmp; } } }
相关文章推荐
- python开发之路Day17-算法设计(冒泡排序、选择排序、插入排序、二叉树)
- 数据结构和算法之排序四:冒泡排序
- 【算法之家】——交换排序之冒泡排序与快速排序
- 学习算法之冒泡排序
- 【算法】常用的排序算法之冒泡排序
- 【C#】[算法]冒泡排序
- php 算法常见冒泡排序
- 算法——冒泡排序
- 常见排序算法之冒泡排序
- 白话经典算法系列之中的一个 冒泡排序的三种实现
- 【算法】冒泡排序
- java 面试算法之冒泡排序
- 算法联系之一冒泡排序
- 重温算法入门经典,PYTHON冒泡排序
- 冒泡排序的算法
- 数据结构 排序算法之冒泡排序
- 小白学算法2.1——冒泡排序
- 4000 【算法】算法分析(一)冒泡排序、快速排序
- 排序算法之二----冒泡排序
- 冒泡排序原理以及算法