scala实现 快速排序 和 插入排序

本文详细探讨了如何使用Scala编程语言实现两种经典排序算法:快速排序和插入排序。通过示例代码和解释,帮助读者理解这两种排序算法的工作原理及其在Scala中的应用。
摘要由CSDN通过智能技术生成

**插入排序

**在这里插入代码片

   // scal 函数式编程实现插入排序
    def insertSortByFunction[A <% Ordered[A]](list:List[A]):List[A]={
        def insertSort(unSort:List[A], sort:List[A]):List[A]=unSort match{
            case head::tail =>insertSort(tail,insert(head,sort))
            case Nil => sort

        }

        def insert(a: A, sort: List[A]):List[A]=sort match{
            case head :: tail if(a>head) => head :: insert(a,tail)
            case _ =>  a::sort
        }

        insertSort(list,Nil)
	}


//java 思想编程
def insertSort(arr:Array[Int]): Unit ={
    for(i <- 1 to arr.length -1){   //[1,arr.length-1]
        breakable{
            for(j <- 1 to i reverse){   //[1,i]    until[1,i)
                if(arr(j)<arr(j-1)){
                  arr(j)=arr(j-1)^arr(j)
                  arr(j-1)=arr(j-1)^arr(j)
                  arr(j)=arr(j-1)^arr(j)
                } else{
                  br
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值