数据算法之选择排序(selectSort)的Java实现

来源:互联网 发布:C语言下列说法正确的是 编辑:程序博客网 时间:2024/06/05 20:19

  本文的代码来自于《数据结构与算法(JAVA语言版)》,是笔者在网上找到的资料,非正式出刊版物。笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论。
  选择排序的基本思想是在待排序的数组中先选取最小的数字,然后和第一个位置的数字调换位置,依次往复。
  如图所示


选择排序


输入:数据元素数组r,数组r 的待排序区间[low..high]
输出:数组r 以关键字有序
代码:

public void selectSort(Object[] r, int low, int high){    for (int k=low; k<high-1; k++){ //作n-1 趟选取        int min = k;        for (int i=min+1; i<=high; i++) //选择关键字最小的元素            if (strategy.compare(r[i],r[min])<0) min = i;        if (k!=min){            Object temp = r[k]; //关键字最小的元素与元素r[k]交换            r[k] = r[min];            r[min] = temp;        }//end of if    }//end of for(int k=0…}//end of selectSort
0 0
原创粉丝点击