博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
冒泡排序 和 归并排序
阅读量:5124 次
发布时间:2019-06-13

本文共 760 字,大约阅读时间需要 2 分钟。

时间复杂度O(nlog2n)

归并排序:

void Merge(int l,int mid,int r)

{
    int i=l,j=mid+1,k=0;
   
while(i<=mid && j<=r)
    {
       
if(a[i]>a[j])
        {
            t[k
++]=a[j++];
            cnt
+=mid-i+1;
        }
       
else
        {
            t[k
++]=a[i++];
        }
    }
   
while(i<=mid) t[k++]=a[i++];
   
while(j<=r) t[k++]=a[j++];
   
//将归并完成的结果复制到原数组中
    for(i=0; i<k; i++)
    {
        a[l
+i]=t[i];
    }
}

      一趟冒泡排序需要进行的是n-1,n-2,……,2,1,0的和次比较。即n*(n-1)/2次。总的时间复杂度为O(n^2).

冒泡排序:

 

for(i=0; i
a[j+1]) { int tem=a[j]; a[j]=a[j+1]; a[j+1]=tem; cnt++; flag=true; } } if(!flag) //本轮没交换。则成功 { break; } }

 

 

 

转载于:https://www.cnblogs.com/Jason-Damon/archive/2012/04/14/2446638.html

你可能感兴趣的文章
Echarts入门
查看>>
CSS display属性的值及作用
查看>>
《Java技术》第八次作业
查看>>
BZOJ2302 [HAOI2011]Problem c 【dp】
查看>>
linux学习总结
查看>>
Java中的局部变量表及使用jclasslib进行查看
查看>>
oracle12 pl/sql
查看>>
Android WebView Long Press长按保存图片到手机
查看>>
SDL教程4——在VS2010中设置SDL扩展库
查看>>
B-JUI文档、下载
查看>>
[BZOJ 3647]
查看>>
Spring Aop——给Advice传递参数
查看>>
mongodb3.0 性能測试报告 一
查看>>
【Android 应用开发】Activity 状态保存 OnSaveInstanceState參数解析
查看>>
linux Packet socket (1)简单介绍
查看>>
STL容器存储的内容动态分配情况下的内存管理
查看>>
ExecuteScalar
查看>>
[LeetCode] Search for a Range [34]
查看>>
一个ssm综合小案例-商品订单管理-第二天
查看>>
迁移学习综述
查看>>