排序算法-冒泡排序
2013-03-26 14:05
176 查看
首先,衡量排序算法的重要一点是排序算法的稳定性:即如果两个元素a1 == a2,且排序前a1与a2之间的位置与排序后没有变化,则称此排序算法是稳定的。
其次,排序算法的性能评估主要看元素间的比较次数。
冒泡排序-带判断位的冒泡排序
(1)思想:每次比较相邻两个元素,若前一个比后一个大,则交换位置,依次比较下去,直至全部比较完毕,称作一次冒泡,n个元素中的最小元素位于了最左边;然后再对剩下的n-1个元素做同样的操作。
(2)c++实现:
其次,排序算法的性能评估主要看元素间的比较次数。
swap函数 void swap(int &a,int &b) { int temp; temp = a; a = b; b =temp; }
冒泡排序-带判断位的冒泡排序
(1)思想:每次比较相邻两个元素,若前一个比后一个大,则交换位置,依次比较下去,直至全部比较完毕,称作一次冒泡,n个元素中的最小元素位于了最左边;然后再对剩下的n-1个元素做同样的操作。
(2)c++实现:
void bubbleSort(int arr[],int n)//输入待排序数组和数组元素个数n { bool flag; for(int i = 1;i < n;i++)//外层遍历 { flag = false; for(int j = n-1;j>=i;j--) { if(arr[j] < arr[j-1])//一次冒泡 { swap(arr[j],arr[j-1]); flag = true; } } if(flag == true) break; } }(3)复杂度: o(n^2)
相关文章推荐
- 排序算法一(直接选择,堆排序,冒泡排序和快速排序)
- C#实现所有经典排序算法(选择排序 冒泡排序 快速排序)
- 常见排序算法 (二)-冒泡排序
- 排序算法之冒泡排序
- 排序算法(一)-冒泡排序
- 排序算法(冒泡排序、选择排序、插入排序)
- 常见算法:C语言中的排序算法--冒泡排序,选择排序,希尔排序
- 排序算法 之 冒泡排序
- 排序算法之冒泡排序
- Java实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序等
- 排序算法-对冒泡排序的优化改进算法
- 排序算法(3):冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- php排序算法(冒泡排序,快速排序)
- 排序算法-- 冒泡排序
- 排序算法总结(冒泡排序、直接插入排序、希尔排序)(python实现)
- 排序算法-冒泡排序
- 【Java常用排序算法】交换排序(冒泡排序、快速排序)
- 排序算法之冒泡排序和快速排序(Java版)