public static void sort(Comparable[] a)
{ // 将a[] 按升序排列
int N = a. length; // 数组长度
for (i nt i = 0; i < N; i ++)
{ // 将a[i ] 和a[i +1. . N] 中最小的元素交换
int min = i ; // 最小元素的索引
for (int j = i +1; j < N; j ++)
if (l ess(a[j ] , a[mi n] ) ) mi n = j ;
exch(a, i , mi n) ;
}
}
// l ess() 、 exch() 、 i sSorted() 和mai n() 方法见“排序算法类模板”
public static void selectionSort(int[] a)
{
int len = a.length;
for (int i=0; i<**len-1**; i++)
{
int min = i;
for (int j=i+1; j
{
if (a[min] > a[j])
min = j;
}
int t = a[min];
a[min] = a[i];
a[i] = t;
}
}
选择排序这两种有什么不同,注意粗体部分
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-