前面我们讲解了耐心排序算法,今天我们来看一下代码的实现,直接上代码
package ttt;
import java.util.ArrayList;
import java.util.List;
public class PatienceSort {
public static int[] patienceSort(int[] theArray) {
List new_list = new ArrayList();
for(int i = 0; i < theArray.length; i++) {
List bucket_list = new ArrayList();
if (i == 0) {
bucket_list.add(theArray[i]);
new_list.add(bucket_list);
}else {
boolean is_ok = false;
for(int j = 0; j < new_list.size(); j++) {
if(theArray[i] < (int)((List)new_list.get(j)).get(0)) {
((List)new_list.get(j)).add(0, theArray[i]);
is_ok = true;
break;
}
}
if(!is_ok) {
bucket_list.add(theArray[i]);