Java 按数组排序
当我尝试排序时,我的方法有问题: 我的代码是这样的:Java 按数组排序,java,arrays,sorting,Java,Arrays,Sorting,当我尝试排序时,我的方法有问题: 我的代码是这样的: public void sort() { boolean found=true; int i = 0; String temp; while(found) { found = false; for ( i = 0; i<cars.length-1; i++) { if (cars[i].compareToIgnoreCase(cars[i+1])> 0) {
public void sort()
{
boolean found=true;
int i = 0;
String temp;
while(found)
{
found = false;
for ( i = 0; i<cars.length-1; i++)
{
if (cars[i].compareToIgnoreCase(cars[i+1])> 0)
{
public void sort()
{
布尔值=真;
int i=0;
字符串温度;
while(找到)
{
发现=错误;
对于(i=0;i=0)
{
我已经做了这么多,但仍然不确定如何对它们进行排序。使用内置方法如何?效果很好。试试看
Arrays.sort(cars);
如果汽车是非标准类型,则编写自己的比较器
(命名为comp
),并执行以下操作:
比较器接口的文档
更新
或者,正如Polywhill先生在下面所说的,只需将Compariable
接口实现到汽车类别。您已经初始化了温度,只需将汽车[i]移动到温度,然后将汽车[i+1]移动到汽车[i],然后将温度移动到汽车[i+1],然后found=true以离开循环将其转换为代码。您希望以何种方式对这些数据进行排序?我假设您希望手动执行此操作?如果不希望,请使用上面提到的Java内置Arrays.sort()方法。以下是以下内容的完整实现:
public static您为什么不使用sort()函数?@Mr.polywhill谢谢,我修复了我的帖子。
Arrays.sort(cars, comp);
public static <E extends Comparable<? super E>> void bubbleSort(E[] comparable) {
boolean changed = false;
do {
changed = false;
for (int a = 0; a < comparable.length - 1; a++) {
if (comparable[a].compareTo(comparable[a + 1]) > 0) {
E tmp = comparable[a];
comparable[a] = comparable[a + 1];
comparable[a + 1] = tmp;
changed = true;
}
}
} while (changed);
}