Я завершил визуализацию сортировки пузырьков в процессе обработки. Следующим шагом для меня будет желание увидеть, какая строка сортируется, изменив ее цвет на красный. Я не уверен, как это сделать, любое понимание будет полезно.
Я попытался добавить штрих в середине алгоритма переключения, а также поместить его в алгоритм, который тоже проверяет значения, но не сработало.
float[] lines;
int i = 0;
int j = 0;
void setup() {
//fullScreen(P2D);
size(800,500);
//get array of x values
lines = new float[width];
float len = lines.length;
//populate each x value with a random y value
for (int i = 0; i < len; i++) {
lines[i] = random(height);
}
}
void draw() {
background(0);
float len = lines.length;
//do this for the entire array
if (i < len) {
for (j = 0; j < len-i-1; j++) {
float a = lines[j];
float b = lines[j + 1];
if (a > b) {
swap(lines, j, j+1);
}
}
} else {
noLoop();
i++;
}
for (int i = 0; i < len; i++) {
stroke(255);
line(i, height, i, height - lines[i]);
}
}
void swap(float[] arr, int a, int b) {
float temp;
temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
Сейчас это рабочий код без изменения цвета на красный, я включил полную программу, чтобы вы могли попробовать ее самостоятельно и посмотреть, сможете ли вы помочь изменить одну строку, которая перемещается и заменяется на красную.