在使用排序函数的时候,都要考虑一个排序的方式,尤其是自定义变量,有多个属性,是以哪一个属性进行排序。
在C++中可以定义一个结构体,再使用algorithm库中的sort对变量数组进行排序,内部使用的是快速排序,前面介绍过快排的过程。同样java中也有个sort,同样可以设置排序方法。
import java.util.Arrays;
public class Main {
public class goods{
public int v1,v2,v3;
public void insert(int a1,int a2,int a3){
v1=a1;
v2=a2;
v3=a3;
}
}
goods[] gg=new goods[10];
public static void main(String[] args){
for(int j=0;j<10;j++)
{
gg[j]= new Main().new goods();
int v1=j;
int v3=j%2==0?j+5:j-5;
int v2=v3+j/2;
gg[j].insert(v1,v2,v3);
}
Arrays.sort(gg,new Comparator<goods>(){
@Override
public int compare(goods o1, goods o2){
return o2.v2 - o1.v2;
}
});
for(int j=0;j<10;j++)
System.out.println(gg[j].v1+" "+gg[j].v2+" "+gg[j].v3);
}
}