gpt4 book ai didi

java - Java vector 中的冒泡排序

转载 作者:行者123 更新时间:2023-11-29 04:53:55 25 4
gpt4 key购买 nike

我正在创建一个可以使用冒泡排序方法对对象( vector )进行排序的程序。我在互联网上找到了一个代码,它帮助我创建了它(数组中的冒泡排序): http://www.programmingsimplified.com/java/source-code/java-program-to-bubble-sort

当我编译程序时,我没有得到任何语法错误,但结果不正确。我想我在 IF 语句中犯了一个错误,但我不确定这是否是唯一的错误。这是我运行它时得到的结果:

Input number of integers to sort
5
Enter 5 integers
2
0
1
6
4
Sorted list of numbers
1
2
3
3
3

这是我的代码:

import java.util.Scanner;
import java.util.*;
import java.io.*;
class BubbleSortVector {
public static void main(String []args) {
int n, c, d, swap;
Scanner in = new Scanner(System.in);

System.out.println("Input number of integers to sort");
n = in.nextInt();

Vector v ;
v = new Vector();

System.out.println("Enter " + n + " integers");

for (c = 0; c < n; c++)
//v.addElement(c);
v.insertElementAt(in.nextInt(),c);


for (c = 0; c < ( n - 1 ); c++) {
for (d = 0; d < n - c - 1; d++) {
if ((Integer)v.elementAt(d) > (Integer)v.elementAt(d+1)) /* For descending order use < */

{
swap = (Integer)v.elementAt(d);
v.insertElementAt(d+1,d);
v.insertElementAt(swap,d+1);

}
}
}

System.out.println("Sorted list of numbers");

for (c = 0; c < n; c++)
System.out.println(v.elementAt(c));
}
}

最佳答案

    // ...
Vector<Integer> v = new Vector<>();
// ...
for (c = 0; c < (n - 1); c++) {
for (d = 0; d < n - c - 1; d++) {
if (v.get(d) > v.get(d + 1)) {
swap = v.get(d);
v.set(d, v.get(d + 1));
v.set(d + 1, swap);
}
}
}
// ...

关于java - Java vector 中的冒泡排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34445789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com