• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2020-09-04 09:03 Aet 隐藏边栏 |   抢沙发  1 
文章评分 1 次,平均分 5.0

简述

归并排序思想,假设对数组A[p...r]排序:

  • 分解
    • 将数组A[p...r]平均划分为2子数组A[p...q-1]个A[q...r],一直划分直到每个子数组只有1个元素
  • 归并
    • 对 A[p...q-1]和A[q...r]这两个已排序好的数组进行合并

复杂度

  • 时间复杂度 O(nlgn)
  • 非原地排序,归并时需要额外的空间 O(n)

实现

  • begin
    • begin...middle之间为已排好序列
  • end
    • middle...end之间为已排好序列
  • middle
    • begin...middle之间为已排好序列
  • compare
    • 一个可调用对象,可用于比较两个对象的小于比较,默认为std::less

  • begin
    • 待排序序列的起始迭代器(也可以是指向数组中某元素的指针)
  • end
    • 待排序序列的终止迭代器(也可以是指向数组中某元素的指针)
  • compare
    • 一个可调用对象,可用于比较两个对象的小于比较,默认为std::less

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2021-11-20
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享