我正在尝试制定一个排序算法,按照升序顺序对对象排序。排序方法应该使用我编写的goodSwap方法。在某种程度上,我找到了一些有趣的文章和代码示例来对整数进行排序,但对我的问题不起作用。下面是我为我的问题做了研究的链接:
这是我的密码:
CustomInteger.java
/**
* @author AbduMuhaimin
* @since 16/12/2015
* Java Good Swap algorithm
**/
//class CustomInteger
class CustomInteger {
private int value;
public CustomInteger(int i) {
this.value = i;
}
public void setValue(int value) {
this.value = value;
}
public int getValue() {
return this.value;
}
public static void goodSwap(CustomInteger a, CustomInteger b) {
CustomInteger z = new CustomInteger(a.getValue());
a.setValue(b.getValue());
b.setValue(z.getValue());
}
//main method
public static void main(String[] args) {
//before swapping
CustomInteger a = new CustomInteger(10);
CustomInteger b = new CustomInteger(5);
System.out.println("Before swapping\n");
System.out.println("Value of a: " + a.getValue() + "\n");
System.out.println("Value of b: " + b.getValue() + "\n");
//after swapping
goodSwap(a,b);
System.out.println("After swapping\n");
System.out.println("Value of a: " + a.getValue() + "\n");
System.out.println("Value of b: " + b.getValue() + "\n");
}
}如何制定排序算法,我必须使用哪种类型的排序?是泡泡,合并还是快速排序?我仍然是在Java中分类的新手:)
发布于 2015-12-16 08:37:08
选择排序:sort
CustomInteger[] vec = new CustomInteger[]{new CustomInteger(5), new CustomInteger(1), new CustomInteger(2), new CustomInteger(4), new CustomInteger(5), new CustomInteger(2)};
for (int i = 0; i < vec.length - 1; i++) {
int min = i;
for (int j = i + 1; j < vec.length; j++) {
if (vec[j].getValue() < vec[min].getValue()) {
min = j;
}
}
if (min != i) {
goodSwap(vec[i], vec[min]);
}
}
for (int i = 0; i < vec.length; i++) {
System.out.print(vec[i].getValue() + " ");
}https://stackoverflow.com/questions/34307117
复制相似问题