1
我想在斯卡拉寫尾部遞歸算法。遞歸排序在斯卡拉尾部遞歸
public ArrayList sort(ArrayList<int> toSort)
{
ArrayList<int> list=toSort;
for(int i=0; i<list.size();i++)
{ int min=100;
int pos=-1;
for(int j=i+1; j<list.size();j++)
{
if(list.get(i)>list.get(j) && list.get(j)<min)
{
min=list.get(j);
pos=j;
}
}
if(pos!=-1)
{
int a=list.get(i);
list.set(i,list.get(pos));
list.set(pos,a);
}
}
return list;
}
我是新的斯卡拉和函數式編程,所以我不知道如何編寫代碼。 有人可以幫我一些想法嗎?
非常感謝你提前
謝謝你的回答,你對我的編譯錯誤是正確的。你的答案很好,但實際上我正在尋找一個不可改變的解決方案。先生,再次謝謝你。 –
我這麼認爲。 Scala排序如下所示:val list = List(3,2,1).sorted –
Scala immutable List被實現爲鏈接列表,它與java ArrayList是不同的數據結構,因此使用不同的排序算法。 –