一、实验要求
实现冒泡排序的可视化效果。
二、效果图
三、代码
1.sketch.js
/**
* 冒泡排序可视化
*/
var canvasWidth = 700; // 画布宽度
var canvasHeight = 500; // 画布高度
var numArray = [350,107,104,99,200,300,12,48]; // 原始数组
var tempArray = []; // 过程数组,记录排序过程
sort(numArray); // 排序原始数组将过程放进过程数组
function setup() {
frameRate(60) // 设置刷新率
createCanvas(canvasWidth, canvasHeight); //创建画布
}
var speed = 1; // 动画速度参数
var x = 40; // 初始绘制x坐标
var y = 400; // 绘制y坐标
var wid = 30; // 条形宽度
var i = 0; // 过程数组下标
var flag = true; // 标志,每一次交换过程完成后变为false
x0 = 0+speed; // 交换动画中的x变动量,初始为speed,每一帧+speed
function draw(