js常用的2中排序方法:冒泡排序和快速排序

冒泡排序:例如9 4 5 6 8 3 2 7 10 1 

首先:9和4比较  4放前   4 9 5 6 8 3 2 7 10 1 

      4和5比较   4不动   4 9 5 6 8 3 2 7 10 1 

      4和6比较    4不动   4 9 5 6 8 3 2 7 10 1 

      4和3比较    3放前   3 9 5 6 8 4 2 7 10 1 

      3和2比较    2放前   2 9 5 6 8 4 3 7 10 1

最后第一轮为:1 9 5 6 8 4 3 7 10 2    通过第一轮最小的数放到了第一个

平均时间复杂度:o(n平方);

最大时间复杂度:o(n平方)

最小时间复杂度:o(n)

稳定性:稳定     a在b前面 当a=b时 仍然在前面

 

快速排序:

 

例如:10  5  81  54  6  14  76  13

设置i 和 j 分别指向 10 和13

 

首先 j从后往前找比10小的数 找到6 并交换 10和6的位置

得到: 6 5 81 54 10 14 76 13

 现在将i往后移一位 i=5  j=10;

让i从前往后找比10大的数  找到81 交换81和10的位置,得

 6 5 10 54 81 14 76 13

现在i=10  j=81;

让j从后往前找比10小的数  找不到

 

故第一轮排序为:6 5 10 54 81 14 76 13   通过第一轮:比10大的数在右边,比10小的数全在左边

 

平均时间复杂度:o(nlogn);

最大时间复杂度:o(n平方)

最小时间复杂度:o(nlogn)

稳定性:不稳定

转载于:https://www.cnblogs.com/8080zh/p/9227449.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值