您的位置:首页 > 其它

Scala学习笔记:数组操作与简单算法示例

2017-09-12 22:23 716 查看
创建:

var array1=Array(5,4,9,7,6)


求和:

array1.sum


最值:

array1.max
array1.min


应用快速排序:

scala.util.Sorting.quickSort(array1)


定长数组转字符串:

array1.mkString("<",",",">")




变长数组转字符串:

import scala.collection.mutable.ArrayBuffer
var arrbuf=ArrayBuffer[Int]()
arrbuf+=(5,4,6,9,1)

arrbuf.toString

arrbuf.mkString("<",",",">")


两种转字符串的方法对应输出分别为:





将原有数组通过函数新建数组yield:



简单算法,去除数组中第一个负数之后的所有负数。

思路:首先使用数组保存所有正数与第一个负数的位置,然后将需要保存的数依次覆盖到数组前端,最后直接将数组在正确位置截断即可:

import scala.collection.mutable.ArrayBuffer
var arrbuf=ArrayBuffer[Int]()
arrbuf+=(1,5,-4,3,-5,9,-5,-7)
var flag=false

var KeepIndexs=for(i<-0 until arrbuf.length if (!flag||(arrbuf(i)>=0))) yield{
if(arrbuf(i)<0) flag=true
i
}

for(i<-0 until KeepIndexs.length){
arrbuf(i)=arrbuf(KeepIndexs(i))
}

arrbuf.trimEnd(arrbuf.length-KeepIndexs.length)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  scala