forked from lorenzo-stoakes/Rainbow-Sort
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.min.js
1 lines (1 loc) · 3.26 KB
/
main.min.js
1
(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;p=[20,20],o=p[0],n=p[1],d=null,e=null,f=null,h=null,j=null,t=null,x=null,b=null,v=[],g=function(a){return v.push(window.setTimeout(a,0))},w=function(a){return"hsl("+a+", 100%, 50%)"},k=function(){var a,b,c,d,g,i,j,k;for(g=[],j=b=0,c=x,d=o;d>0?c>b:b>c;j=b+=d)g.push(function(){var b,c,d,g;for(g=[],k=b=0,c=h,d=n;d>0?c>b:b>c;k=b+=d)i=Math.random(),a=Math.floor(256*i),e.push({val:i,hue:a,x:j,y:k}),f.fillStyle=w(a),g.push(f.fillRect(j,k,o,n));return g}());return g},c=function(){var a,b,c,f,g;for(b=c=1,g=e.length;g>=1?g>c:c>g;b=g>=1?++c:--c)if(e[b-1].val>e[b].val)return;return a=Date.now(),window.clearInterval(d),f=a-t,$("#algoName").html($("#algo").val()),$("#ms").html(f)},q=function(){var a,i,l;for(null!=d&&window.clearInterval(d);i=v.pop();)window.clearTimeout(i);return e=[],j=1,l=$(document),a=[$(document).width(),$(document).height()],x=a[0],h=a[1],b.attr("width",x),b.attr("height",h),f=b[0].getContext("2d"),t=Date.now(),k(),g(r),d=window.setInterval(c,10)},u=function(a,b){var c,d,g;return d=e[a],g=e[b],c=function(a){var b;return b=d[a],d[a]=g[a],g[a]=b},c("val"),c("hue"),f.fillStyle=w(d.hue),f.fillRect(d.x,d.y,o,n),f.fillStyle=w(g.hue),f.fillRect(g.x,g.y,o,n)},l=function(){var a,b,c;for(a=b=c=j;0>=c?0>b:b>0;a=0>=c?++b:--b)e[a-1].val>e[a].val&&u(a-1,a);return j++,j<e.length?g(l):void 0},s=function(){var a,b,c,d,f;for(c=j-1,a=b=d=j,f=e.length;f>=d?f>b:b>f;a=f>=d?++b:--b)e[a].val<e[c].val&&(c=a);return u(j-1,c),j++,j<e.length?g(s):void 0},a=function(){var b,c,d,f;for(f=!1,b=c=1,d=e.length;d>=1?d>c:c>d;b=d>=1?++c:--c)e[b-1].val>e[b].val&&(u(b-1,b),f=!0);return f?g(a):void 0},m=function(a){var b,c,d,f;return d=function(a,b,c){var d,f,g;return d=b,f=a,g=c,e[f].val<e[d].val&&u(f,d),e[g].val<e[f].val&&u(g,f),e[f].val<e[d].val?u(f,d):void 0},c=function(b,c){var e,f;return e=Math.floor(b+(c-b)/2),a?(c-b>40&&(f=Math.floor((c-b)/8),d(b,b+f,b+2*f),d(e,e-f,e+f),d(c-1,c-1-f,c-1-2*f)),d(b,e,c-1),b):e},f=function(a,b,c){var d,f,g,h,i;for(g=e[c].val,u(c,b),c=a,d=f=h=a,i=b;i>=h?i>f:f>i;d=i>=h?++f:--f)e[d].val<=g&&(u(d,c),c++);return u(c,b),c},(b=function(a,d){var e;if(!(a>=d))return e=c(a,d),e=f(a,d,e),g(function(){return b(a,e-1),b(e+1,d)})})(0,e.length-1)},i=function(){var a,b,c,d,f,h,i,j,k,l,m;for(l=[],m=function(){return l.length?(l.pop()(),g(m)):void 0},k=e.length,f=function(a){var b,c,d;return c=2*a+1,d=2*a+2,b=a,k>c&&e[c].val>e[a].val&&(b=c),k>d&&e[d].val>e[b].val&&(b=d),a!==b?(u(a,b),f(b)):void 0},h=function(){return k--,u(0,k),k>0?f(0):void 0},b=c=i=k-1;0>=i?0>c:c>0;b=0>=i?++c:--c)l.push(h);for(a=function(a){return l.push(function(){return f(a)})},b=d=0,j=Math.floor(k/2)-1;j>=0?j>=d:d>=j;b=j>=0?++d:--d)a(b);return m()},r=a,$(document).ready(function(){return b=$("#mainCanvas"),$("#squareSize").val(o),window.onresize=function(){return q()},$("#algo").change(function(){var b;return b=$("#algo").val(),r=function(){switch($(this).children(":selected").attr("id")){case"bsort":return a;case"isort":return l;case"qsort1":return function(){return m(!1)};case"qsort2":return function(){return m(!0)};case"hsort":return i;case"ssort":return s}}.call(this),q()}),$("#squareSize").change(function(){var a;return a=parseInt($("#squareSize").val(),10),isNaN(a)?void 0:(o=n=a,q())}),$("#reset").click(function(){return q()}),q()})}).call(this);