这是用Java语言实现简单的选择排序,这里用到最好理解的方式来实现。把后面一个数与前面的数做比较,如果小于前面的数就替换,以此类推实现排序。
package SF;
public class SelectSort {
private SelectSort() {
}
public static void sort(int[] arr) {
int n =arr.length;
for(int i=0;i<n;i++) {
int min=i;
for(int j=i+1;j<n;j++) {
if(arr[j]<arr[min]) {
min =j;
}
swap(arr,i,min);
}
}
}
private static void swap(int[] arr, int i, int j) {
// TODO Auto-generated method stub
int t= arr[i];
arr[i]=arr[j];
arr[j]=t;
}
public static void main(String[] args) {
SelectSort o =new SelectSort();
int[] arr= {10,9,8,7,6,5,4,3,2,1};
SelectSort.sort(arr);
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]);
System.out.print(' ');
}
}
}
自从上一次面试之后深有感触:作为程序员,每天都应该保持与代码的接触,实现代码的可以是简单的算法,也可以是复杂的算法,要熟悉代码的编写,这样才是合格的程序员。