[英]Quick sort object java
i try to sorting this data, but it cannot be sorted我尝试对这些数据进行排序,但无法对其进行排序
Method Class方法类
public static Object[] QuickSort(Object[] object, int a, int b) {
Mahasiswa[] data = (Mahasiswa[]) object;
if (a < b) {
}
else {
Object pivot = object[a];
int i = a + 1;
Object tmp;
for (int j = a + 1; j > b ; j++) {
if (((Comparable)data[j]).compareTo(data[j-1])== 1) {
tmp = object[j];
object[j] = object[i];
object[i] = tmp;
i++;
}
}
object[a] = object[i - 1];
object[i - 1] = pivot;
QuickSort(object, a, i - 2);
QuickSort(object, i, b);
}
return data;
}
public static void QuickSort(Object a[]) {
QuickSort(a, 0, a.length - 1);
}
}
This is the main class.这是主类。
public static void main(String[] args) {
Mahasiswa[] data = {new Mahasiswa("Hotman : ", 175314109),
new Mahasiswa("Wawul : ", 175314010),
new Mahasiswa("Paris : ", 175314087),
new Mahasiswa("Rio : ", 175314120),
new Mahasiswa("Kartini : ", 175314064)};
Larik.QuickSort(data);
for (int i = 0; i < data.length; i++) {
System.out.println(data[i].getNama()+""+data[i].getNim());
}
}
}
output输出
Hotman : 175314109热人:175314109
Wawul : 175314010瓦乌尔 : 175314010
Paris : 175314087巴黎 : 175314087
Rio : 175314120里约:175314120
Kartini : 175314064卡蒂尼 : 175314064
BUILD SUCCESSFUL (total time: 0 seconds)构建成功(总时间:0 秒)
You are calling你在打电话
QuickSort(a, 0, a.length - 1);
and then in this method you are doing然后在这个方法中你正在做
if (a < b) {
}
which is true, so no sorting is occurring.这是真的,所以没有发生排序。
visit http://www.java2novice.com/java-sorting-algorithms/quick-sort/ for an example访问http://www.java2novice.com/java-sorting-algorithms/quick-sort/获取示例
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.