Я работал с данными из файла и держал их в паре вместе. Мне нужно отсортировать данные в алфавитном порядке, сохраняя их в паре одновременно. Я успешно сделал это с пузырьковой сортировкой здесь:
for (int i = 1; i <= count; i++)
{
for (int j = 0; j < count - 1; j++)
{
if (email [j].compareToIgnoreCase (email [j + 1]) > 0)
{
temp1 = email [j];
email [j] = email [j + 1];
email [j + 1] = temp1;
temp2 = fname [j];
fname [j] = fname [j + 1];
fname [j + 1] = temp2;
temp3 = lname [j];
lname [j] = lname [j + 1];
lname [j + 1] = temp3;
temp4 = city [j];
city [j] = city [j + 1];
city [j + 1] = temp4;
temp5 = age [j];
age [j] = age [j + 1];
age [j + 1] = temp5;
}
}
}
}
Я получаю вывод, подобный этому: Электронная почта: bobbarley@gmail.com Имя: Боб Фамилия: Ячмень Город: Ванкувер Возраст: 13 Электронная почта: felixfixed@gmail.com Имя: Феликс Фамилия: Фиксированный Город: Бостон Возраст: 24 Электронная почта: joejake@gmail.com Имя: Джо Фамилия: Джейк Город: Торонто Возраст: 32
С другой стороны, у меня есть вставка сортировки, но Я не могу хранить данные вместе. Вот мой код:
for (int i = 1; i < count; i++)
{
String current = fname [i];
int j = i - 1;
while (j >= 0 && current.compareToIgnoreCase (fname [j]) < 0)
{
fname [j + 1] = fname [j];
j--;
}
fname [j + 1] = current;
}
С этой частью я получаю следующий вывод:
Имя: Боб Фамилия: Джейк Город: Торонто Возраст: 32 Электронная почта: joejake@gmail.com Имя : Феликс Фамилия: Барли Город: Ванкувер Возраст: 13 Электронная почта: bobbarley@gmail.com Имя: Джо Фамилия: Фиксированный Город: Бостон Возраст: 24 Электронная почта: felixfixed@gmail.com