я получил основы вставки кода, но я застрял на том, чтобы сравнить его с другим условием другой тогда (поиск по AZ, ZA)Пользовательская сортировка со вставкой рода
для примера список сотрудников ряды были даны:
public static final String[] staffrank = {
"Trainee",
"Junior",
"Senior",
"Administrator"
};
у меня есть метод для compareRank
Если она возвращает 0 означает, что они равного ранга (сотрудники 1 и сотрудники 2)
, если она возвращает -1 означает СТАФ е 1 ниже ранг, чем персонал 2
если она возвращает 1 означает, что персонал-выше ранг, чем персонал 2
Тогда у меня есть список сотрудников в ничтожном основной
Staff[] snames;
int countname=0;
snames = new Staff[50];
snames[countname++] = new Staff("Amy","Trainee");
snames[countname++] = new Staff("Annie","Junior");
snames[countname++] = new Staff("Tom","Administrator");
snames[countname++] = new Staff("Dave","Trainee");
snames[countname++] = new Staff("Gary","Junior");
snames[countname++] = new Staff("Donna","Senior");
затем вставки рода сравнить код
public static void insertionSortbyRank(Staff[] snames, int countname) {
//insertion sort
for(int i =1; i < countname; i++) {
int j = i;
int comparerank = Staff.compareRank(snames[j],snames[j-1]);
String name = snames.getName();
String rank = snames.getRank();
//if staff is lower rank
if(comparerank==-1) {
Тогда я не уверен, что положить в это время цикла еще дает мне несортированный список
while(j >0 && rank.compareRank(list[j], list[j - 1]) == 1))) {
list[j].rank =[j-1].rank;
list.[j].name = [j-1].name;
j--;
}
тогда конец заменяет новые значения
snames[j].name = name;
snames[j].rank = rank;
выход предполагает, чтобы дать: (по заказу своих рядов от низкого до самого высокого в соответствии с таблицей)
Эй, стажер Дэйв, стажер Энни, младший Гэри, младший Донна, старший Том, администратор
Любая помощь была бы оценена .. спасибо
Это домашнее задание? – soulcheck
Это помечено как «домашнее задание», поэтому я предполагаю, что это .. :) –
Это был один из моих экзаменационных вопросов .. , но мы не будем знать ответа, так как это был финал. Я даже не поместил домашнюю работу ... это был парень, который «отредактировал» мой пост –