단순 원소 바꾸기는 포인터가 불가능하기 때문에, 그저 원소를 바꿔 리턴해주는 함수로 바꾸겠다.
//그저 인자를 바꿔서 리턴해주는 함수
def swapArr (arr : Array[Int], i : Int, j : Int) : Array[Int] = {
val temp = arr(i)
arr(i) = arr(j)
arr(j) = temp
return arr
}//end swapArr
그리고 배열을 회전시키는 간단한 메서드의 경우에는 다음과 같이 거꾸로 돌아갈수도 있다.
즉 for문에 대한 10 to 1 by -1 을 써주면 10에서 1로 거꾸로 세는것이다. 아주 간편하다.
//인자를 하나를 끼워넣는 함수
def rightRotate (arr : Array[Int], s : Int, t : Int) : Array[Int] = {
val last = arr(t)
for (i <- (t to s by -1)) arr(i) = arr(i-1)
arr(s) = last
return arr
}//end rightRotate
'소프트웨어 개발 > Scala - Functional' 카테고리의 다른 글
Scala 문자열과 일치 여부 (0) | 2016.07.30 |
---|---|
[참고자료] fork in run (0) | 2015.12.28 |
spark-scala 를 이용한 wordcount 예제 (3) | 2015.05.31 |
스칼라 flatmap 사용법 (0) | 2015.05.31 |
Spark 설치, 이용하기 (2) | 2015.05.31 |