xxxxxxxxxx
114
var dot = [];
var rdm = [];
var count = 0;
var swapcount = 0;
var checkcount = 0;
var number = 1080;
function setup() {
createCanvas(windowHeight, windowHeight);
for (var i = 0; i < number; i++) {
rdm[i] = i;
}
shuffleArray(rdm);
for (var i = 0; i < number; i++) {
dot[i] = new Dot(i, rdm[i]);
}
}
function draw() {
background(0);
if (frameCount % 1 == 0) {
var check = 0;
for (var i = 0; i < number; i++) {
for (var j = i; j < number; j++) {
checkcount++;
if (dot[j].d < dot[i].d) {
var temp = dot[j].d;
dot[j].d = dot[i].d;
dot[i].d = temp;
check = 1;
swapcount++;
break;
}
}
}
if (check == 0) {
//text("over", 20, 350, 50, 50);
colorMode(RGB);
fill(255,0,0);
stroke(255,0,0);
text('Total checks : ' + checkcount, 10,330,200,20);
text('Total swaps : ' + swapcount,10,350,200,20);
noLoop();
}
}
for (var i = 0; i < number; i++) {
dot[i].paint();
}
noStroke();
fill(255);
text('Total checks : ' + checkcount, 10, 330, 200, 20);
text('Total swaps : ' + swapcount, 10, 350, 200, 20);
text('BUBBLE SORT REPRESENTATION : 1080 dots', 50, 380, 350, 20);
}
function shuffleArray(array) {
for (var i = array.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}