【发布时间】:2020-04-11 02:45:59
【问题描述】:
我一直在处理文件中的数据并将它们配对在一起。我需要按字母顺序对数据进行排序,同时将它们配对在一起。我在这里用冒泡排序成功地做到了:
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
【问题讨论】:
-
Java 是一种面向对象的语言。 使用它! 不要使用并行数组。创建一个类,例如命名为
Person有 5 个字段,然后使用这些对象的单个数组。
标签: java arrays sorting insertion-sort