Bubble Sort(冒泡法)

来源:互联网 发布:男生自慰知乎 编辑:程序博客网 时间:2024/05/29 12:03
最简单的排序方法是冒泡排序方法。这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,“最轻”的元素就浮到了最高位置;处理二遍之后,“次轻”的元素就浮到了次高位置。在作第二遍处理时,由于最高位置上的元素已是“最轻”元素,所以不必检查。一般地,第i遍处理时,不必检查第i高位置以上的元素,因为经过前面i-1遍的处理,它们已正确地排好序。这个算法可实现如下。
#include "stdafx.h"
#include 
"iostream.h"

template
<class T>
class doit{
private:
int x,y;
T temp;
public
doit(T
* in,int count)
{
for(y=0;y<count-1;y++)
{
for(x=1;x<count-y;x++)
{
if((*(in+x))>(*(in+x-1)))
{
temp
=(*(in+x-1));
(
*(in+x-1))=(*(in+x));
(
*(in+x))=temp;
}

}

}

}

}
;

int main()
{
double a[4]={1.1,1.3,1.9,2.2};
doit
<double> d(a,4);
for(int i=0;i<4;i++)
{
cout
<<a[i]<<endl;
}

return 0;
}
 
 
原创粉丝点击