您的位置:首页 > 其它

排序算法-冒泡排序

2013-03-26 14:05 176 查看
首先,衡量排序算法的重要一点是排序算法的稳定性:即如果两个元素a1 == a2,且排序前a1与a2之间的位置与排序后没有变化,则称此排序算法是稳定的。

其次,排序算法的性能评估主要看元素间的比较次数。

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: