From 8c99dbafd8be4a38a842f646446f96f3900026cc Mon Sep 17 00:00:00 2001 From: Ngb Date: Mon, 7 Jun 2021 09:32:52 +0200 Subject: [PATCH] copy --- lib/ACE_v0.3.0.jar | Bin 0 -> 133058 bytes src/algorithms/Algorithm.class | Bin 0 -> 1432 bytes src/algorithms/Algorithm.ctxt | 19 +++++ src/algorithms/Algorithm.java | 57 +++++++++++++++ src/algorithms/BetterBubbleSort.class | Bin 0 -> 810 bytes src/algorithms/BetterBubbleSort.ctxt | 7 ++ src/algorithms/BetterBubbleSort.java | 32 ++++++++ src/algorithms/BubbleSort.class | Bin 0 -> 716 bytes src/algorithms/BubbleSort.ctxt | 7 ++ src/algorithms/BubbleSort.java | 24 ++++++ src/algorithms/InsertionSort.class | Bin 0 -> 735 bytes src/algorithms/InsertionSort.ctxt | 7 ++ src/algorithms/InsertionSort.java | 30 ++++++++ src/algorithms/MergeSort.class | Bin 0 -> 1472 bytes src/algorithms/MergeSort.ctxt | 11 +++ src/algorithms/MergeSort.java | 78 ++++++++++++++++++++ src/algorithms/QuickSort.class | Bin 0 -> 1143 bytes src/algorithms/QuickSort.ctxt | 11 +++ src/algorithms/QuickSort.java | 49 +++++++++++++ src/algorithms/RadixSort.class | Bin 0 -> 1560 bytes src/algorithms/RadixSort.ctxt | 13 ++++ src/algorithms/RadixSort.java | 70 ++++++++++++++++++ src/algorithms/SelectionSort.class | Bin 0 -> 778 bytes src/algorithms/SelectionSort.ctxt | 7 ++ src/algorithms/SelectionSort.java | 31 ++++++++ src/algorithms/package.bluej | 76 +++++++++++++++++++ src/main/SortingAlgorithms2Launcher.class | Bin 0 -> 465 bytes src/main/SortingAlgorithms2Launcher.ctxt | 5 ++ src/main/SortingAlgorithms2Launcher.java | 8 ++ src/main/Tiles.class | Bin 0 -> 2497 bytes src/main/Tiles.ctxt | 9 +++ src/main/Tiles.java | 52 +++++++++++++ src/main/Window$1.class | Bin 0 -> 592 bytes src/main/Window.class | Bin 0 -> 2138 bytes src/main/Window.ctxt | 9 +++ src/main/Window.java | 85 ++++++++++++++++++++++ src/main/package.bluej | 47 ++++++++++++ src/package.bluej | 37 ++++++++++ 38 files changed, 781 insertions(+) create mode 100644 lib/ACE_v0.3.0.jar create mode 100644 src/algorithms/Algorithm.class create mode 100644 src/algorithms/Algorithm.ctxt create mode 100644 src/algorithms/Algorithm.java create mode 100644 src/algorithms/BetterBubbleSort.class create mode 100644 src/algorithms/BetterBubbleSort.ctxt create mode 100644 src/algorithms/BetterBubbleSort.java create mode 100644 src/algorithms/BubbleSort.class create mode 100644 src/algorithms/BubbleSort.ctxt create mode 100644 src/algorithms/BubbleSort.java create mode 100644 src/algorithms/InsertionSort.class create mode 100644 src/algorithms/InsertionSort.ctxt create mode 100644 src/algorithms/InsertionSort.java create mode 100644 src/algorithms/MergeSort.class create mode 100644 src/algorithms/MergeSort.ctxt create mode 100644 src/algorithms/MergeSort.java create mode 100644 src/algorithms/QuickSort.class create mode 100644 src/algorithms/QuickSort.ctxt create mode 100644 src/algorithms/QuickSort.java create mode 100644 src/algorithms/RadixSort.class create mode 100644 src/algorithms/RadixSort.ctxt create mode 100644 src/algorithms/RadixSort.java create mode 100644 src/algorithms/SelectionSort.class create mode 100644 src/algorithms/SelectionSort.ctxt create mode 100644 src/algorithms/SelectionSort.java create mode 100644 src/algorithms/package.bluej create mode 100644 src/main/SortingAlgorithms2Launcher.class create mode 100644 src/main/SortingAlgorithms2Launcher.ctxt create mode 100644 src/main/SortingAlgorithms2Launcher.java create mode 100644 src/main/Tiles.class create mode 100644 src/main/Tiles.ctxt create mode 100644 src/main/Tiles.java create mode 100644 src/main/Window$1.class create mode 100644 src/main/Window.class create mode 100644 src/main/Window.ctxt create mode 100644 src/main/Window.java create mode 100644 src/main/package.bluej create mode 100644 src/package.bluej diff --git a/lib/ACE_v0.3.0.jar b/lib/ACE_v0.3.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..c924540019799f5597c87ed9a410246c9d90b4a0 GIT binary patch literal 133058 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

g{>?USE)qGjQ(Gdk3Yd{qC~zg9x`cM!yscCM`F? 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 biJ>_(^c%5w_3v<&V=ex_JW*KDQdj>0NX6XT literal 0 HcmV?d00001 diff --git a/src/algorithms/Algorithm.ctxt b/src/algorithms/Algorithm.ctxt new file mode 100644 index 0000000..fd8b61e --- /dev/null +++ b/src/algorithms/Algorithm.ctxt @@ -0,0 +1,19 @@ +#BlueJ class context +comment0.target=Algorithm +comment1.params=arr +comment1.target=Algorithm(int[]) +comment2.params= +comment2.target=void\ run() +comment3.params= +comment3.target=void\ delay() +comment4.params= +comment4.target=void\ start() +comment5.params= +comment5.target=int[]\ getArray() +comment6.params= +comment6.target=int\ getCursor() +comment7.params=i1\ i2 +comment7.target=void\ swap(int,\ int) +comment8.params= +comment8.target=void\ algorithm() +numComments=9 diff --git a/src/algorithms/Algorithm.java b/src/algorithms/Algorithm.java new file mode 100644 index 0000000..3e648e5 --- /dev/null +++ b/src/algorithms/Algorithm.java @@ -0,0 +1,57 @@ +package algorithms; + +public abstract class Algorithm implements Runnable { + + private int delay = 100; + volatile int[] arr; + public volatile int accesses, comparisons; + public boolean done = false; + int cursor = 0; + + public Algorithm(int[] arr) { + this.arr = new int[arr.length]; + for (int i = 0; i < arr.length; i++) { + this.arr[i] = arr[i]; + } + } + + @Override + public void run() { + algorithm(); + done = true; + } + + public void delay() { + try { + Thread.sleep(delay); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + public void start() { + new Thread(this).start(); + } + + public int[] getArray() { +// int[] newArr = new int[arr.length]; +// for (int i = 0; i < arr.length; i++) { +// newArr[i] = arr[i]; +// } +// return newArr; + return arr; + } + + public int getCursor() { + return cursor; + } + + public void swap(int i1, int i2) { + int temp = arr[i1]; + arr[i1] = arr[i2]; + arr[i2] = temp; + } + + abstract void algorithm(); + +} diff --git a/src/algorithms/BetterBubbleSort.class b/src/algorithms/BetterBubbleSort.class new file mode 100644 index 0000000000000000000000000000000000000000..99f48b7ec1a0ef75121f030e4244837a3b040262 GIT binary patch literal 810 zcmZWmO-~b16g_V~`Z1kSL_SmoEPh}a6nDA+Ni2y8NpVwCV@OP2rxO_{on~gLVdDxm z{t81htW78;F8BfdBtq2lhC+-k=FC0!-FNRj=l%Tk;}pPCJhEV6CXYO372H-(wg__y z?kIX!!M!Z*XE863X@ybSj|9Xz$x6@-l2rk-vbny{5HQxlwl7es1zrDTf4AjFuVkyk z%vde-WTzpcK=EPHNVbAlV5TNJ@4_fZwszykRX<7msM>F_tR6y^^9>m;TwdWk6*(0O*?y2sE?2hjDE=`=hnla+XpwnoD0W z;X01dJmETTj*-na2gs(8c^TylMmg0=H` arr[j + 1]) { + swap(j, j + 1); + accesses += 4; + } + accesses += 2; + comparisons++; + if (j == border - 1) { + break; + } + } + border--; + } + } + +} diff --git a/src/algorithms/BubbleSort.class b/src/algorithms/BubbleSort.class new file mode 100644 index 0000000000000000000000000000000000000000..1910bcc7b9354ddb759532a0f44f213f223a4911 GIT binary patch literal 716 zcmYjN+iDY06kTU7nPxIIZB5eFPPM7Gbc6^#C}=HsK?uZxM2b==IhhQ0YLW>v6UF!b zh(+*OX)E~95AZ|$h*H#b#qD{E0;EJM4 z3aS>CEnF4It%idzT@x^Cn~jwX0pm&34FrnKa1gAI`kf$tDLXwXGtJ1Cy$uA!m} zhvS>=Ry2zJ;902NF8;r>z9ZjD2Q~^0rZMB-8Y&L1qvYTQZaSzbx`K*8`Ru*(o&-wg z^hc+*xe0$1ClSq>-JmBwaudl1IaG^jWQ&=Qz8@q>z_JPbyBpM{Ba-DhZ9nc_@ zFQP-XMy~On^KN~I_?q=6iS|DgCM;YauZ(#SQ)HZ1v3Q5TMU=*O{el6Vy+B`G@b;k{ z?ct67(9KGtyN8D79zgdFVJOM1XK1wRpHcQ)*JvNY^j_~HXSEOLM^)x&Wf`ojT}^!X z^KDlUKPjs^l+`;~kOCt)n4_{t!&MZiPvJgoKBdKVnta9n7N@$H%_1#j=U arr[j + 1]) { + swap(j, j + 1); + accesses += 4; + } + accesses += 2; + comparisons++; + } + } + } +} diff --git a/src/algorithms/InsertionSort.class b/src/algorithms/InsertionSort.class new file mode 100644 index 0000000000000000000000000000000000000000..79d48f0d7387deb0625e9b84c3c87d4a7678ca7b GIT binary patch literal 735 zcmZ8e%Wl(95Ixs%n#6IMwv@KSrBI%!ixP=V7gUuhBqT#%6R3o;fLq5R7ZN+N9UgoB z0*OU8T_d$cu;>Ty3497dgmXnVUO+_GR{wS*EbYFN{7$s%0V zu&(J94Oa`eR={}1ti+@SGXXbeie-tMX{pPztU%ul#k~eaw&*Nq1DN5fDk|f~LWj`7Wd5$Cs z6Rh*V7JrA}Lt{jPF?|xNWIN;r-!ty!XNXUkK1Z~&Y!P{WKTp2&rwR)=N5*=+Vb*mC z%adN;VP;jzJ%Yg}cY1(lI^K3Z!gHNtnC=PkT5%c~n%%|$ny%xR-4j}PdW1sZ`7sJv zls}7#CZpneF+LoB(TbtDaX9{!E%UtIt=EM(pTC6c;!1)bgsEQc? literal 0 HcmV?d00001 diff --git a/src/algorithms/InsertionSort.ctxt b/src/algorithms/InsertionSort.ctxt new file mode 100644 index 0000000..fa35fda --- /dev/null +++ b/src/algorithms/InsertionSort.ctxt @@ -0,0 +1,7 @@ +#BlueJ class context +comment0.target=InsertionSort +comment1.params=arr +comment1.target=InsertionSort(int[]) +comment2.params= +comment2.target=void\ algorithm() +numComments=3 diff --git a/src/algorithms/InsertionSort.java b/src/algorithms/InsertionSort.java new file mode 100644 index 0000000..aa4c91a --- /dev/null +++ b/src/algorithms/InsertionSort.java @@ -0,0 +1,30 @@ +package algorithms; + +public class InsertionSort extends Algorithm { + + int index; + + public InsertionSort(int[] arr) { + super(arr); + } + + @Override + void algorithm() { + while (index < arr.length) { + for (int i = index; i > 0; i--) { + cursor = i; + delay(); + if (arr[i] < arr[i - 1]) { + swap(i, i - 1); + accesses += 4; + }else { + break; + } + accesses += 2; + comparisons++; + } + index++; + } + } + +} diff --git a/src/algorithms/MergeSort.class b/src/algorithms/MergeSort.class new file mode 100644 index 0000000000000000000000000000000000000000..3b0a99564400262d1241b9f7533e0c540a0fb41f GIT binary patch literal 1472 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 literal 0 HcmV?d00001 diff --git a/src/algorithms/RadixSort.ctxt b/src/algorithms/RadixSort.ctxt new file mode 100644 index 0000000..8a7f2c8 --- /dev/null +++ b/src/algorithms/RadixSort.ctxt @@ -0,0 +1,13 @@ +#BlueJ class context +comment0.target=RadixSort +comment1.params=arr +comment1.target=RadixSort(int[]) +comment2.params= +comment2.target=void\ algorithm() +comment3.params=arr\ n +comment3.target=int\ getMax(int[],\ int) +comment4.params=arr\ n\ exp +comment4.target=void\ countSort(int[],\ int,\ int) +comment5.params=arr\ n +comment5.target=void\ radixsort(int[],\ int) +numComments=6 diff --git a/src/algorithms/RadixSort.java b/src/algorithms/RadixSort.java new file mode 100644 index 0000000..0865579 --- /dev/null +++ b/src/algorithms/RadixSort.java @@ -0,0 +1,70 @@ +package algorithms; + +import java.util.Arrays; + +public class RadixSort extends Algorithm { + + int exponent = 2; + + public RadixSort(int[] arr) { + super(arr); + } + + @Override + void algorithm() { + radixsort(arr, arr.length); + } + + private int getMax(int arr[], int n) { + int mx = arr[0]; + accesses++; + for (int i = 1; i < n; i++) { + if (arr[i] > mx) { + mx = arr[i]; + accesses++; + } + accesses++; + comparisons++; + } + return mx; + } + + private void countSort(int arr[], int n, int exp) { + int output[] = new int[n]; + int i; + int count[] = new int[exponent]; + Arrays.fill(count, 0); + + for (i = 0; i < n; i++) { + cursor = i; + delay(); + count[(arr[i] / exp) % exponent]++; + accesses++; + } + + for (i = 1; i < exponent; i++) { + count[i] += count[i - 1]; + } + + for (i = n - 1; i >= 0; i--) { + output[count[(arr[i] / exp) % exponent] - 1] = arr[i]; + count[(arr[i] / exp) % exponent]--; + accesses += 3; + } + + for (i = 0; i < n; i++) { + cursor = i; + delay(); + arr[i] = output[i]; + accesses++; + } + } + + private void radixsort(int arr[], int n) { + int m = getMax(arr, n); + + for (int exp = 1; m / exp > 0; exp *= exponent) + countSort(arr, n, exp); + } + +} diff --git a/src/algorithms/SelectionSort.class b/src/algorithms/SelectionSort.class new file mode 100644 index 0000000000000000000000000000000000000000..98d1f79c963c2728bcd2aefab1e2259473a38ea2 GIT binary patch literal 778 zcmZ8eO>fgs5S-`OapF1+Ep7S{mwr$nbs-!hL>dWILW-1f395vO1h1~4E{Pr44v0HH zfZxzd&q!^NIP}PYpHvCLJd;*{tT&$Bx89vu|M>Oo0zd-~ELd17qKI1xmKCg6gjL1X z6x>$fx`{g`?g|)5D&tf@v<33bAPmwLleN9}#;$wRP@vRJrT1<}4#usmZZwQN|7nm7|EFpFNWPagN|>}U0o%q5W^LS4tcE!o8;ZFK zHgR8I{(9?x_WYDfm`v0aS~Crap3plM}dO$JU>Z%dY$m1{(xIZqL7iEe2@dR zy*9UpRj%3MPZ2y6M%2iulUQcdVyy9hhZ?lnS=50JX2(0Fne$2d~FsbI?)ry8zv2Hib}p%PAAVYPk?!)dxNPLVfWpHU8( zsgs$XG;uQe?y45ma}=@?^QuHsCECg8vr?XeQr^mZmFRVn%F9@0cAcz7?G37bMBUr; zv%|YC=J65>c!MeiaFAdrbGyP`6>Ra=rtc}dVvU`-O~)Hp Is0BN}0iD#4ga7~l literal 0 HcmV?d00001 diff --git a/src/algorithms/SelectionSort.ctxt b/src/algorithms/SelectionSort.ctxt new file mode 100644 index 0000000..6d1af6f --- /dev/null +++ b/src/algorithms/SelectionSort.ctxt @@ -0,0 +1,7 @@ +#BlueJ class context +comment0.target=SelectionSort +comment1.params=arr +comment1.target=SelectionSort(int[]) +comment2.params= +comment2.target=void\ algorithm() +numComments=3 diff --git a/src/algorithms/SelectionSort.java b/src/algorithms/SelectionSort.java new file mode 100644 index 0000000..8fd6ae0 --- /dev/null +++ b/src/algorithms/SelectionSort.java @@ -0,0 +1,31 @@ +package algorithms; + +public class SelectionSort extends Algorithm { + + int start; + + public SelectionSort(int[] arr) { + super(arr); + } + + @Override + void algorithm() { + while (start < arr.length) { + int min = start; + for (int i = start; i < arr.length; i++) { + cursor = i; + delay(); + if (arr[i] < arr[min]) { + min = i; + } + accesses += 2; + comparisons++; + } + swap(start, min); + accesses += 4; + + start++; + } + } + +} diff --git a/src/algorithms/package.bluej b/src/algorithms/package.bluej new file mode 100644 index 0000000..6dbfe6c --- /dev/null +++ b/src/algorithms/package.bluej @@ -0,0 +1,76 @@ +#BlueJ package file +objectbench.height=128 +objectbench.width=1256 +package.divider.horizontal=0.6 +package.divider.vertical=0.8005908419497785 +package.editor.height=535 +package.editor.width=1145 +package.editor.x=0 +package.editor.y=351 +package.frame.height=776 +package.frame.width=1296 +package.numDependencies=0 +package.numTargets=8 +package.showExtends=true +package.showUses=true +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=QuickSort +target1.showInterface=false +target1.type=ClassTarget +target1.width=90 +target1.x=10 +target1.y=80 +target2.height=50 +target2.name=BubbleSort +target2.showInterface=false +target2.type=ClassTarget +target2.width=90 +target2.x=100 +target2.y=90 +target3.height=50 +target3.name=RadixSort +target3.showInterface=false +target3.type=ClassTarget +target3.width=90 +target3.x=190 +target3.y=90 +target4.height=50 +target4.name=SelectionSort +target4.showInterface=false +target4.type=ClassTarget +target4.width=110 +target4.x=10 +target4.y=150 +target5.height=50 +target5.name=InsertionSort +target5.showInterface=false +target5.type=ClassTarget +target5.width=110 +target5.x=110 +target5.y=150 +target6.height=50 +target6.name=MergeSort +target6.showInterface=false +target6.type=ClassTarget +target6.width=90 +target6.x=10 +target6.y=210 +target7.height=50 +target7.name=BetterBubbleSort +target7.showInterface=false +target7.type=ClassTarget +target7.width=130 +target7.x=100 +target7.y=210 +target8.height=50 +target8.name=Algorithm +target8.showInterface=false +target8.type=AbstractTarget +target8.width=90 +target8.x=10 +target8.y=270 diff --git a/src/main/SortingAlgorithms2Launcher.class b/src/main/SortingAlgorithms2Launcher.class new file mode 100644 index 0000000000000000000000000000000000000000..c649d1a5c35418d06bc96a06afd4f132a05b6223 GIT binary patch literal 465 zcmah`O-sW-5Ph4ZO_NqzTdhawt$HxfOAi%61W!Q^krwf^Nkg(F*}yi@-{q;G;1BRe ziL+72MR5=F@n+`DWA@|o^&P+*$1YkJ**J7zXn$m5%+S6NQk0hr=Ja&QU|kpMn4#|r z8Q)fU7^{08W`qp=BI4PSE1~lr&?-~0WtjLm7t#v~RSKD0Wl5n#ndaM>&np?Fv04zZ zZebWtAN>t~;$FsO;svFmfknNTtAwaVzmyr=pr}+7-w3VbQg>KWfLZea>#0#Fn<1$?kct=Y5{{Jtz6~;k_*Y&*1wo_ThyP zIxrl@2u8zPjfF9ei4Z1nT&$*KycooZFoKvC@=Or3;(aoRmx4GY63m4$kA)BuoQ^Q< zqF9|5`7X$KIgA#(B7}<~<*Q*nE(r%!h)cqnl9867NeHRAjA`jkHZP%Nx-8g<;lK1r z3AIOcLwAlzXpL>}(sM?Ff7DDfVZ*d;XtS&NCCyq;mvYoZrp=U^JEK~Q5Ru}k=5m8 z&C=3t5|%He_}$?5DxnB2S*vPU5^6566rY~YNa*;#Bz5zSnp&Ar3ocVK4oe8no2ynz zn;=URT(SlPK??R`SwSbdWMmX%g)oSxWatVmV?{@3SPs2 zgvJrmbZm#Mo6(%CnYJ5h@p=$%D0mZZDR>(L3f{rH>~y)NZ5S0*T~qKLt}A$7!1zF{ zKEy`~J{IC9xJDF}0ph-Hx}0ic5+|1~Ybm1i#l*-oi*C4MUNzaA3ENREIyIHcsEixW zhL}dTw-OFjjilFZF^zxkrE594WNX%%W+i*hOQ-7@y)Zo&$+Bi&Hjg8Y$H|%WH-! za&9=>JQ|y--o2btwQNBv+boXQ-1rzBsGpl0 z5!Z=nuv&?I2u#k6kI&LZqG*%xxtPVTC3IK7>c*P6q9wdSypku>lw(>OGQMT#v}vxa z@*pWwhM`$5H5zf;sP0NBhd1`eRU^%dt=kJsR#9C7Tcvpoue`$D`i3^7-AJ_Zw7@ysgPElXO_s-tC zkb2|4pr-c@YKrjvOl1uY@EL)h&w4%^5W-G0Qu8=9EnXlFB1VZR+zr?_^q|*EFSSBO zEp40eUN5h|tv%|G2BacSRQxt-i;&~@5nPOfe2w*Y5iVj!JfZ~KE;Tl^Un-(59;p{X zM@eW9Lcb??2^)*p*=SV!h4v02_s|5m`ckN;Z?5RQEESl&2(!>Anh9(#b|H@4cowbv z{oaE)YO-kK<=2iIWK_UE<^e0i-(*A|VG}I+G2oK3i3C?ZSN8;0g2+ug$yI=M-uWe( z1}V$572-uiXYQkAv2Uwy%YPTUW_?5csK0OPCQkc?0?|NU)IV?&qftLScmII;+h{Ff z&rt0x>~PuSGJXepH-*^dTKYwJG?4bEqh!1NdO*7M$Gz)*K7Z{0iF^9oCJ&*G>n_%@ zpY81?)&p$oLDm|>QMPl8*iI1FJP|F?mZgtD1cHe<{^2>yJWmr>Ej>F*t9_WlAs1^D zix?{5FO(T8@NZQY83R5R%#+K$hx%L-X&9 e@v#G9M4!i3e21Cm3w(nw*|9T}gOtzmd+tyDa8D}$ literal 0 HcmV?d00001 diff --git a/src/main/Tiles.ctxt b/src/main/Tiles.ctxt new file mode 100644 index 0000000..95ec88d --- /dev/null +++ b/src/main/Tiles.ctxt @@ -0,0 +1,9 @@ +#BlueJ class context +comment0.target=Tiles +comment1.params=algorithm +comment1.target=Tiles(algorithms.Algorithm) +comment2.params=g2d\ offsetX\ offsetY\ width\ height +comment2.target=void\ draw(java.awt.Graphics2D,\ int,\ int,\ int,\ int) +comment3.params=algo +comment3.target=java.awt.image.BufferedImage\ makeImageFromAlgorithm(algorithms.Algorithm) +numComments=4 diff --git a/src/main/Tiles.java b/src/main/Tiles.java new file mode 100644 index 0000000..07ecc51 --- /dev/null +++ b/src/main/Tiles.java @@ -0,0 +1,52 @@ +package main; + +import java.awt.Color; +import java.awt.Font; +import java.awt.Graphics2D; +import java.awt.image.BufferedImage; + +import algorithms.Algorithm; + +public class Tiles { + + private Algorithm algorithm; + + public Tiles(Algorithm algorithm) { + this.algorithm = algorithm; + + this.algorithm.start(); + } + + public void draw(Graphics2D g2d, int offsetX, int offsetY, int width, int height) { + g2d.drawImage(makeImageFromAlgorithm(algorithm), offsetX, offsetY, width, height, null); + g2d.setColor(Color.WHITE); + g2d.setFont(new Font(Font.MONOSPACED, Font.PLAIN, 14)); + g2d.drawString(" Algorithm:", 5 + offsetX, 15 + offsetY); + g2d.drawString(" Accesses:", 5 + offsetX, 30 + offsetY); + g2d.drawString("Comparisons:", 5 + offsetX, 45 + offsetY); + g2d.drawString(algorithm.getClass().getSimpleName(), 110 + offsetX, 15 + offsetY); + g2d.drawString(algorithm.accesses + "", 110 + offsetX, 30 + offsetY); + g2d.drawString(algorithm.comparisons + "", 110 + offsetX, 45 + offsetY); + } + + private BufferedImage makeImageFromAlgorithm(Algorithm algo) { + int[] arr = algo.getArray(); + BufferedImage img = new BufferedImage(arr.length, arr.length, + BufferedImage.TYPE_INT_RGB); + for (int x = 0; x < arr.length; x++) { + for (int y = 0; y < arr[x]; y++) { + int c; + if (x == algo.getCursor()) { + c = Color.RED.getRGB(); + }else { + c = Color.WHITE.getRGB(); + } + if (algo.done) { + c = Color.GREEN.getRGB(); + } + img.setRGB(x, arr.length - y - 1, c); + } + } + return img; + } +} diff --git a/src/main/Window$1.class b/src/main/Window$1.class new file mode 100644 index 0000000000000000000000000000000000000000..edd83a4ad2510a93143bcf4ef8fe39229cec96ac GIT binary patch literal 592 zcmZvYOHaZ;6ot=VrL+_QU*KC47Kn+c8y6Z9<2$KrG`b#OgfXRK+N!_H#7E-7AK;HN z-WiEvVv|nh-h29;)BExH_6}ehD-JBox)?>-MG12@=4~u6q?4YED;o?szt3e@zmj1` zJ?zk6SB5faFchkPCaaeW*1qZphP*FB(Y))oM0CMh0d>ZG)#kw^kEE^#O-oxac&A|~ zqWyr!v7j#L0<@6Ax+F9+pw0g$(VZ zvdJ*k9ptDV>6}C#5>TwF*-Sw3>3fS74X{E%1L>BcHvEi6 literal 0 HcmV?d00001 diff --git a/src/main/Window.class b/src/main/Window.class new file mode 100644 index 0000000000000000000000000000000000000000..dcf97f4f48d92d290adcf83c0b64950b86baf72c GIT binary patch literal 2138 zcmZuyT~ixX7=BK&*@Y#1NJ$HAsL&4uQVCF{t$ZjSrKAl|2tsLX?UHPhg|NZhO|f2g z#yiJf;EdG{Gu}C4!4Ze?y7%7dAJ8lBI@P7s)h+20bHxb8BA6oq2oGk=tyEp!?cbnT$MXB8g6Qs)e**=jvA!o&b)??bTnX2 z!-9@RIWOvHlJhMc$K|}Fqgl?kb)1x**KtRBek`rKa=0g#pGeC48Vn7~0^x*ho6cC? za9z_C2t9C&HB+D=nRSfyoRxOt6A~HVmS^SVkw|jIcxc3nT*gNn$9R;qT#x(JDJyFm zUeTfZ*`v-3Cf5whj?YV)fnj>6gO+W1!vevM&IJKwtdOB^ebTbc>Ehb5>C79;c_NL; zLfXhL7>*^^Wl&fGB0(?5urr)Ib8THtIg2sYmabZ~>`Y;UHw6vH5eVGj`P!6cq*tem zb)QGWB|7B`1^PC3l%h5^y!f?p_I=|6GPGc}k9U+ae{G+6qzgscyR~O5QL7Crr71oTv)=%mdF<}OfEimO}d$knvzdQ+y%*9{|v3yjehs&wjHuLRR!oX1;~B2{oa z%g(lqu zGBUEiDsL!7Ina5Vzbw}?953lNsp49nGZ<2{m#ea-w^-`5YMPVfW((4mY>CcNLsw+Y z--42Hj17V4(cPZlr*i@Ad<~uDiz~n{8_&1cKoIEk?JnX%HY>+>0PzP@ggDo9Z9{bJ zAh1Lu_zX(dk5C#zTTmPNe$kV`p=fOP32I}}=*;7Q*nIVO89DP4wAk(!t6vVsqTT&U zEE;R=o{6?LBekwf*U1#>=4`} z;m9HQxP(s}f}17WatJ;t;ZystvW4gm6e@^rj`whaV-pmnIb=;%wJLFO|tDGj^F6@i2%baKpWY6(96<{ z(CVWVBwr0K(o(oSU*2Vz==C1GPUA21^WRDEe(+C2c}0?-hBF$j2;c?k|A7!M7+V1E zW1w8@`_T9Wo+?Aiu+)7Et>1HfjSsz0&8N5G8Kgb-`cw8B+C*JwC^WnYO&wAt8?`$f z&G-AAvxPTX^ZlVbizpE_x}J-KB0Lja&$Q-qgxGQIk5x9< z^Zhc6QWP-J0IpDu0Sw{;jN?OwJ&FVayusBp|0QqInxl0WGkl-UVuP!%Ie&+FU+PIF zze)}%wMxdPWih2Sh#^W4z_%=jEQEq@c#AB=T}<*WS%@6ZjL-`Cq923$F9wCs)!<7s a3#s;H9v>xffI*FOR(#5Hv~=I10sIG~7uk>i literal 0 HcmV?d00001 diff --git a/src/main/Window.ctxt b/src/main/Window.ctxt new file mode 100644 index 0000000..1d3ce93 --- /dev/null +++ b/src/main/Window.ctxt @@ -0,0 +1,9 @@ +#BlueJ class context +comment0.target=Window +comment1.params= +comment1.target=Window() +comment2.params=g2d +comment2.target=void\ frameLoop(java.awt.Graphics2D) +comment3.params=g2d +comment3.target=void\ loop(java.awt.Graphics2D) +numComments=4 diff --git a/src/main/Window.java b/src/main/Window.java new file mode 100644 index 0000000..7b56f92 --- /dev/null +++ b/src/main/Window.java @@ -0,0 +1,85 @@ +package main; + +import java.awt.Graphics2D; +import java.util.ArrayList; + +import algorithms.BetterBubbleSort; +import algorithms.BubbleSort; +import algorithms.InsertionSort; +import algorithms.MergeSort; +import algorithms.QuickSort; +import algorithms.RadixSort; +import algorithms.SelectionSort; +import graphics.Frame; + +public class Window { + + private Frame frame; + private ArrayList tiles; + + public Window() { + + frame = new Frame() { + @Override + public void frameLoop(Graphics2D g2d) { + loop(g2d); + } + }; + frame.setTitle("Sorting Algorithms"); + + int[] arr = new int[50]; + + for (int i = 0; i < arr.length; i++) { + arr[i] = i; + } + for (int i = 0; i < arr.length; i++) { + int rand = (int) (Math.random() * arr.length); + int temp = arr[i]; + arr[i] = arr[rand]; + arr[rand] = temp; + } + + tiles = new ArrayList(); + tiles.add(new Tiles(new BubbleSort(arr))); + tiles.add(new Tiles(new BetterBubbleSort(arr))); + tiles.add(new Tiles(new SelectionSort(arr))); + tiles.add(new Tiles(new InsertionSort(arr))); + tiles.add(new Tiles(new MergeSort(arr))); + tiles.add(new Tiles(new QuickSort(arr))); + tiles.add(new Tiles(new RadixSort(arr))); + + frame.startLoop(); + } + + private void loop(Graphics2D g2d) { + + int countX = 1; + int countY = 1; + + switch (tiles.size()) { + case 1: + case 2: + case 3: + countX = tiles.size(); + break; + case 4: + countX = 2; + countY = 2; + break; + case 5: + case 6: + case 7: + case 8: + case 9: + countX = 3; + countY = 3; + } + + int width = frame.getWidth() / countX; + int height = frame.getHeight() / countY; + + for (int i = 0; i < tiles.size(); i++) { + tiles.get(i).draw(g2d, width * (i % countX), height * ((i - (i % countX)) / countY), width, height); + } + } +} diff --git a/src/main/package.bluej b/src/main/package.bluej new file mode 100644 index 0000000..ea92c3c --- /dev/null +++ b/src/main/package.bluej @@ -0,0 +1,47 @@ +#BlueJ package file +dependency1.from=SortingAlgorithms2Launcher +dependency1.to=Window +dependency1.type=UsesDependency +dependency2.from=Window +dependency2.to=Tiles +dependency2.type=UsesDependency +objectbench.height=93 +objectbench.width=760 +package.divider.horizontal=0.6 +package.divider.vertical=0.8003992015968064 +package.editor.height=394 +package.editor.width=649 +package.editor.x=190 +package.editor.y=171 +package.frame.height=600 +package.frame.width=800 +package.numDependencies=2 +package.numTargets=3 +package.showExtends=true +package.showUses=true +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=Window +target1.showInterface=false +target1.type=ClassTarget +target1.width=80 +target1.x=70 +target1.y=60 +target2.height=50 +target2.name=Tiles +target2.showInterface=false +target2.type=ClassTarget +target2.width=80 +target2.x=310 +target2.y=80 +target3.height=50 +target3.name=SortingAlgorithms2Launcher +target3.showInterface=false +target3.type=ClassTarget +target3.width=200 +target3.x=180 +target3.y=240 diff --git a/src/package.bluej b/src/package.bluej new file mode 100644 index 0000000..2acca5f --- /dev/null +++ b/src/package.bluej @@ -0,0 +1,37 @@ +#BlueJ package file +editor.fx.0.height=776 +editor.fx.0.width=1296 +editor.fx.0.x=-53 +editor.fx.0.y=99 +objectbench.height=93 +objectbench.width=760 +package.divider.horizontal=0.6 +package.divider.vertical=0.8003992015968064 +package.editor.height=394 +package.editor.width=649 +package.editor.x=258 +package.editor.y=154 +package.frame.height=600 +package.frame.width=800 +package.numDependencies=0 +package.numTargets=2 +package.showExtends=true +package.showUses=true +project.charset=windows-1252 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=62 +target1.name=algorithms +target1.type=PackageTarget +target1.width=80 +target1.x=90 +target1.y=10 +target2.height=62 +target2.name=main +target2.type=PackageTarget +target2.width=80 +target2.x=180 +target2.y=10