package com.yuyong.alorithms;
//import java.util.ArrayList;
import java.util.List;
public class SelectionSort {
/**
* @param args
*/
List T;
// public SelectionSort() {
// this.template = new ArrayList();
// }
public void selectionSort(TypeName arr[], int n) {
for (int i = 0; i < n; i++) {
// 寻找[i,n)区间范围内的最小值
int minIndex = i;
TypeName temp;
for (int j = i + 1; j < n; j++) {
if (arr[j].str.compareTo(arr[minIndex].str) < 0) {
minIndex = j;
}
}
temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
public static void main(String[] args) {
// TypeName[] a = { new TypeName(10), new TypeName(8), new TypeName(9),
// new TypeName(6), new TypeName(7), new TypeName(5),
// new TypeName(4), new TypeName(3), new TypeName(1),
// new TypeName(2) };
//
// SelectionSort ss = new SelectionSort();
// ss.selectionSort(a, 10);
// for (int i = 0; i < 10; i++) {
// System.out.print(a[i].id + " ");
// }
TypeName[] a2 = { new TypeName("C"), new TypeName("A"),
new TypeName("B"), new TypeName("E"), new TypeName("D"),
new TypeName("G"), new TypeName("F"), new TypeName("H"),
new TypeName("I"), new TypeName("J") };
SelectionSort ss2 = new SelectionSort();
ss2.selectionSort(a2, 10);
for (int i = 0; i < 10; i++) {
System.out.print(a2[i].str + " ");
}
}
}
package com.yuyong.alorithms;
public class TypeName {
public float id;
public String str;
public TypeName(float id) {
this.id = id;
}
public TypeName(String str) {
this.str = str;
}
}