我需要将Student in Group类添加到按名称排序的Student数组中 也需要低复杂度(O(n)或O(n ^ 2)
public void add(String name,int day,int month,int year)
{
if(_noOfStud==MAX_STUDENTS)
return;
else if(_noOfStud==0)
_stud[_noOfStud]=new Student(name,day,month,year);
else...........?
}
答案 0 :(得分:0)
您可以使用Arrays.binarySearch
Object[] studenArray = new Object[2];
Object studentObj = new Object();
int position = Arrays.binarySearch(studenArray, studentObj, new Comparator<Object>() {
public int compare(Object o1, Object o2) {
return o1.toString().compareTo(o2.toString());
}
});
如果有同名学生,职位将是学生职位 该位置将返回负数-1 =可能的位置0,-2 = 1
有关详细信息,请参阅java doc