我有一個與選擇排序算法有關的問題。選擇算法是否穩定?
我有這個列表,每個項目都有一個名字和一個年齡。
((湯姆·20)(鮑勃10)(八30)(蘇10))
如果我們排序年齡列表(順序遞增)。我們可以得到下面的列表中的任一。
((鮑勃10)(蘇10)(湯姆20)(專利30)) OR ((蘇10)(鮑勃10)(湯姆20)(專利30))
這裏是方法給出
public static void selectionSort(int [] arr)
{
final int n=arr.length;
int least,temp;
for(int i=0; i<n; i++)
{
least=i;
for(int j=i; j<n; j++)
if(arr[j]<=arr[least])
least=j;
temp=arr[i];
arr[i]=arr[least];
arr[least]=temp;
}
}
問題是算法穩定與否?如果它是穩定的,如何使它不穩定?
如果不穩定,如何使其穩定?
我發現這個列表並不穩定。 我是否正確? 如果我錯了,有人可以向我解釋嗎? 謝謝
對不起,方法heeader是: –
這些列表是一個數組? –