gpt4 book ai didi

java - 比较排序算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:48:44 25 4
gpt4 key购买 nike

我实现了不同类型的排序(冒泡、插入、选择)。知道我想比较它们对每种排序的实现,如下所示(这是冒泡排序的示例):

enter image description here

例如,这是我的冒泡排序:

private static int[] bubbleSort(int[] tabToSort) {
int [] tab = tabToSort.clone();
boolean tabSort = false;
while(!tabSort){
tabSort = true;
for(int i = 0; i < tab.length -1; i++){
if(tab[i]> tab[i+1]){
int temp = tab[i+1];
tab[i+1] = tab[i];
tab[i] = temp;
tabSort = false;
}
}
}
return tab;
}

我启动了 GUI,我在上面放置了 1000 个随机点和 y=x 行:

@Override
public void paintComponent (Graphics g){
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.BLACK);
Dimension size = getSize();
Insets insets= getInsets();
int w = size.width - insets.left - insets.right;
int h = size.height - insets.top - insets.bottom;

g2d.drawLine(size.width ,0, 0, size.height);
Random r = new Random();

for (int i =0; i < 1000; i++) {
int x = Math.abs(r.nextInt()) % w;
int y = Math.abs(r.nextInt()) % h;
Point p = new Point(x, y);
g2d.drawLine(p.x, p.y, p.x, p.y);
}
}

这是我所做的:

enter image description here

现在我卡住了,我不知道如何开始。谁能告诉我实现它的步骤/提示?

谢谢:)

最佳答案

您必须定义这些点的含义。查看动画,y 轴似乎代表一个,而 x 轴代表该值在数组中的位置

在您的 paint 方法中,您将遍历项目列表并绘制一个点,x 点是数组中的位置,y 点是数组中的位置y 轴。假设这些值在已知范围内。

此外,请记住图形中的 y 轴从 顶部 的 0 开始,因此您可能需要将值转换为坐标(取决于您希望它的外观)。

关于java - 比较排序算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16760678/

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