关于起泡法为什么比选择法快

来源:互联网 发布:kruskal算法解题过程 编辑:程序博客网 时间:2024/04/29 08:53


t=1;                            // 设定一个为真的变量    

for(i=10-1;i>1&&t;--i)      
{
t=0;                        // 每次判定 t为假   
for(j=0;j<i;++j)
if(a[j]>a[j+1])
{
int w;
w=a[j];
a[j]=a[j+1];
a[j+1]=w;
t=1;     //重点来了,  当t为1的时候 证明数列不够顺序      当t为0 的时候  证明整个数列已经排列完整
}
x=x+1;  // 用这种计数  可以真正的知道程序运行了多少次
}

cout<<x<<endl<<endl;


这种方法可以根据数据的不同 运行的时间也不同



关于选择排序 

for(i=0;i<n-1;i++)

{   

    for(j=i+1;j<n;j++)

     {   if(a[i]>a[j])  则 两个值交换;}

 }

这种方法无论怎么运算  都需要运行(n-1)(n/2);


以上 就是  嗯  没了



0 0
原创粉丝点击