Java 如何通过将颜色更改为红色来显示正在排序的行?
我已经完成了处理中气泡排序的可视化。我自己的下一步是希望能够通过将颜色更改为红色来查看正在排序的行。我不知道该怎么做,任何见解都会有帮助Java 如何通过将颜色更改为红色来显示正在排序的行?,java,processing,bubble-sort,Java,Processing,Bubble Sort,我已经完成了处理中气泡排序的可视化。我自己的下一步是希望能够通过将颜色更改为红色来查看正在排序的行。我不知道该怎么做,任何见解都会有帮助 我曾尝试在开关算法的中间加上笔划,也把它放在检查值的算法中,没有用过。 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[] 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;
}
float[]行;
int i=0;
int j=0;
无效设置(){
//全屏(P2D);
规模(800500);
//获取x值的数组
行=新浮动[宽度];
float len=线长度;
//用随机y值填充每个x值
对于(int i=0;ib){
交换(行,j,j+1);
}
}
}否则{
noLoop();
i++;
}
对于(int i=0;i
这是目前正在运行的代码,没有将颜色更改为红色,我包含了完整的程序,因此您可以自己尝试,看看是否可以帮助将正在移动和交换的单行更改为红色。用于收集已交换行的索引:
e、 g
IntList swapped=new IntList();
if(a>b){
交换。追加(j);
交换。追加(j+1);
交换(行,j,j+1);
}
如果列表中包含一条线的索引,请使用其他颜色绘制该线:
e、 g
for(int i=0;i
函数draw
可能如下所示:
void draw(){
背景(0);
IntList SWAPED=新IntList();
float len=线长度;
//对整个阵列执行此操作
如果(ib){
交换。追加(j);
交换。追加(j+1);
交换(行,j,j+1);
}
}
}否则{
noLoop();
i++;
}
对于(int i=0;i