Я хотел сделать простое упражнение с пузырьковой сортировкой, но я не знаю, что мне следует изменить, чтобы сделать эту работу, а также не использовать метод рисования, который у меня есть. Вот мой код:
package sorting;
import java.awt.Graphics;
import javax.swing.JFrame;
public class Sorting extends JFrame{
public int[] values = new int[800];
public static void main(String[] args) {
Sorting sort = new Sorting();
}
public Sorting(){
setSize(800, 500);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
setTitle("Sorting");
}
@Override
public void paint(Graphics g){
for (int i = 0; i < 800; i++){
values[i] = (int)(Math.random()*500);
for (int k = 0; k < 800; k++){
g.drawLine(k, 500, k, 500-values[k]);
}
}
for (int j = 0; j < 800; j++){
for (int a = 0; a < 800 - j - 1; a++){
int r = values[j];
int b = values[j + 1];
if (a > b){
swap(values, j, j+1);
}
}
}
}
private void swap(int[] arr, int a, int b) {
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
}
Я предполагаю, что в моем массиве значений не сохранены значения, созданные в методе рисования, и поэтому метод обмена не работает, но я не уверен.
Это мой вывод