有关Scala编程实例
在刚开始学习一门编程语言的时候,总是想去写一些比较大的程序和项目,但是由于基础不扎实,往往欲速则不达。所以,只能一步一步来,通过一些经典的小例子来实践和锻炼,最终不断加深编程的技能,坚持下来,相信慢慢就能够变得熟练。
冒泡排序、选择排序、插入排序的一般写法
这三种排序方法没有太多要说的东西,这里的编程方式和指定式方式没什么差别。
这里之所以使用Array数据,因为Array数组是可变的对象序列,其元素值可以改变,而List类对象的元素是不可变的。
这里的写法不是函数式风格的,其中用到了var可变变量,并且每个函数都是用副作用的,因为这些函数改变了输入数组Array的内容。
def bubbleSort(arr: Array[Int]): Unit = {
for(i <- 0 until arr.length-1; j <- 0 until arr.length-1-i){
if(arr(j) > arr(j+1)){
val tmp = arr(j)
arr(j) = arr(j+1)
arr(j+1) = tmp
}
}
}
def selectSort(arr: Array[Int]): Unit = {
for(i <- 0 until arr.length-1){
var min_ind = i
for(j <- i+1 to arr.length-1) {
if(arr(j) < arr(min_ind)){
min_ind = j
}
}
if(min_ind != i){
val tmp = arr(i)
arr(i) = arr(min_ind)
arr(min_i