From bd2e651b5e635ec74c3eb1948ab5dc6519b8c2a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Mon, 7 Mar 2022 21:48:18 +0100 Subject: [PATCH] add bubble short --- .../C103_Algorithme_de_tri/Bubble.class | Bin 0 -> 670 bytes .../C103_Algorithme_de_tri/Selection.class | Bin 1723 -> 722 bytes .../C103_Algorithme_de_tri/Short.class | Bin 0 -> 1935 bytes bin/tools/Chrono.class | Bin 0 -> 1043 bytes .../C103_Algorithme_de_tri/Bubble.java | 23 +++++++++ .../C103_Algorithme_de_tri/Selection.java | 29 ++--------- .../C103_Algorithme_de_tri/Short.java | 46 ++++++++++++++++++ src/tools/Chrono.java | 24 +++++++++ 8 files changed, 96 insertions(+), 26 deletions(-) create mode 100644 bin/C10_Tri_et_complexite/C103_Algorithme_de_tri/Bubble.class create mode 100644 bin/C10_Tri_et_complexite/C103_Algorithme_de_tri/Short.class create mode 100644 bin/tools/Chrono.class create mode 100644 src/C10_Tri_et_complexite/C103_Algorithme_de_tri/Bubble.java create mode 100644 src/C10_Tri_et_complexite/C103_Algorithme_de_tri/Short.java create mode 100644 src/tools/Chrono.java diff --git a/bin/C10_Tri_et_complexite/C103_Algorithme_de_tri/Bubble.class b/bin/C10_Tri_et_complexite/C103_Algorithme_de_tri/Bubble.class new file mode 100644 index 0000000000000000000000000000000000000000..037dd553cc5a597da3d6ca2b8ea67d5451d0351b GIT binary patch literal 670 zcmb7B%Wl&^6g?9=apNRSDFg`A6r@VD7{x$nSwO<02oWieMXD_5!Z^;Tnc~EeGeLX+ zKfw|SscTjs7X1Lkp8sHp5aGDt2ddHB$I-oW&Yk=H@3&(B_pojuBT(PHeaqiVlrOa( z#-m9j-zhCUqILgqbPy*>4@c4;NM9$)dot_yBWb}DSUC*d23{1554=wQP=;C{_dt!6 zZVF^K_gh;%0dqGVNE-(7MPy+M7@J!?8$~QzC<)v-6?b)Iz&8Sa>_bCPyaTQNIE6mX7fS!cF^W!xlEXU8`2N33~@3ZCOU&anILLL63c zmKkNTvqI@M9<<-n@PA%ZDAcHIa E02on>k^lez literal 0 HcmV?d00001 diff --git a/bin/C10_Tri_et_complexite/C103_Algorithme_de_tri/Selection.class b/bin/C10_Tri_et_complexite/C103_Algorithme_de_tri/Selection.class index 180e432fd83d126a762850b3bb0960d5b2f28b85..1d1133c0a02c53f986520f7ed70b0938ff4105dd 100644 GIT binary patch delta 435 zcmW+yF;Bu!5dN<1qflBzp`cLIxJYTzL=81DN)!hrF(EMo1|}0s>;eY6v+xH9zW^O@ zb<$|k#m&)Q;ZJY^ujb|MzIWeuckkYZ@h!Bk#d`?g5Ze>2wHG_~`+iU(h;p}Kw+YJm zpm(c5MnZ>xMv%*PTZ4|23WKmeNxSCVU>N9FL5z^NANu{^%6|wZpOtBg>Zu!o)NK&R zXKPHK$tH99B-;EKjjKF-P7pgtm| zJY_7%6izr>{;ywkii9OuaQF=dCmft(Yw)MHp4MOS(v3QZIh?uA*$TiKrw=_xV#9lo&0|C>oI_7e5Jx8kX)F$ zTUcw@1R-t4SoQ9pqS!Ju}*tMz(MWB1zd}$`i zW_2r(-P~qCK&hB^RiJ-7pS}#{c(uBfimVH0Pj`z}T_WtL=oIL^%({pWWuaEGGzjQA z0_YO(&)HSmnP+5tNy6Mr+f{41S=qE2YvyLz5(uViMYFtaHf(u5b1G(IYllUyA)~>I zK8bD!c*i5_vf5iZ1~4d~R;};S_72JUP z$NQKiom!J%M*FH=ORPv`IBUzSq*TmN&&%PqSKvw0E|;u^hIxFb;)6G#-6hfS7*ELc zrCDxT*>4C>u2)w{Lkb_s={=PhSL2cO4t&hkMr7iWj!*H7OJvsTR<$HBdEJdGAZKJ# z5+b8x8Cii2r`GO7pl|$IUeA$Jv3kDPZ>pkWO%nFGE7Sq*vCuR;#}_&_WI%NTWlmem z)tZf>wP?%L?z;Hu;!;rD;yQZy2?Gi`;e#I@sP2gbq0ySANATTw1kqhO#EqYM@Zct& z8sGBSfg9+irMDB&gCI|kpBp^{5%&l$VZV+ZqBk09p+6IQjUn&+0TyE6cv1-`ec`14 z0E02ZA2*a&2uLHT82+Sh&o2yr?0En5PnqhEg=2;vXZO4!96MG@`=>_|P;&FS z+!o0~GEm4tqo<1ud+8e>w-Bvc=tC3+*SQ}Lc%H`~7BIx=hOoliJi;j8ZMUygc1Z3# zy~DS(MqJ@Etm8IDsX{lNVT?X6@n`TZErmD_afgDo zAyh=E@(BV$h@j^m-iG`GY3qkq#PiV;3H_#Jjxe!th{vw;Abs-emTj0mtd4+Cs;O$DNOP|Bkq##cQB?@{5U3$W$ X*9*@n7t=?AZGFKp2z*KA9_0T8>gZ58 diff --git a/bin/C10_Tri_et_complexite/C103_Algorithme_de_tri/Short.class b/bin/C10_Tri_et_complexite/C103_Algorithme_de_tri/Short.class new file mode 100644 index 0000000000000000000000000000000000000000..2868853516a13f1134ab21fade4ca6d495755f00 GIT binary patch literal 1935 zcmb7E%TgOh6g@2=jTnZv!RC#5SweuYaqNVbZAhF53ves~0g@<#7{lPvj7l0gPS*Z~ zEVA^<3vUvqO1MIb$~wQ0%0A2dKuk{02!km$s7lj4J@?)|=iJl%=iA>70o+DjK|tWf z{Ppq7O2Nz+ZYJyG@|N+;bd3a8Co=b}9j9QryE!AXZDibnnMm(C1y@0pK*OH?R8LsC zy^~np+B34QKqy}@ZH{6?ATph`Oxtv41%lDoszBAevu#vEphiOoVS)OTX&XzW+?G*T z(YGu^pef~Kb!$~GnDV`{7@qdZs0gA#LmeV4&xJr#?tldnbs*ALIcIcYsbJ|YJ>g;3jSZRT})af?UHQ_A}ra*1l)w53)^}Od#1rLs;E4ikX zc%<9gPEN%F8suY1!!jOvPI~4h<=LpBlad^Y<_~O};8YZ(^F6grmEe}bBqmQPX+i~G z3S2(x*twEvZ5ss@8~94W<}nuUSo)sU@HM_6f~UGwGL|1peUhiWQgObDHFQTn8APv~ zXEkht2*Y|lZ`j)cqv!egl;`|96+E=w8g?}7f*c~Q<9|GB(|23n#uIrd^hA*3{;GhQ zc1ne;ao?2Jg6ds5W0E?q@^}V$dvR6XBAkT~fxj0;3$(q!~3W|o1%Crnje5hG%>Im&A3!a{)=d;xVF(4{O1i%$pPBdn>zN< zwRnKuco}_vpno6Hkuu`1q5g!L*BEQMS;j3daEgIT2bg&mcxTiL9Ao@lM)K{hL=^N$ zjG=~em27K?qz>JvM;~Y7#4|}mpP~g1cym3%6|D21OR~d0I?Ur^z9~rK6ATc0Ba*n! zi~uux@fl}9u7Ep;|1hqgUts}NUV{~)KeCV{I@JEVN|p=j`$#PYXJ4Wr-Zet-pBg&~5t#=CNe7flRz5cj~h5+3*SAcGNY f9#G*a*@fT{*@g%eLdYk2k0^mZC1jha0XY8ya>JR! literal 0 HcmV?d00001 diff --git a/bin/tools/Chrono.class b/bin/tools/Chrono.class new file mode 100644 index 0000000000000000000000000000000000000000..068f0dfba206eda91263f4efcd049947e0d23f15 GIT binary patch literal 1043 zcmZ`&ZBNrs7(I7y-A38Q*uVkmFbI1Q<~zzzCkuX9ro@bp__1siN=i$*j>Mm!U-&DU zxJfke2l%6m=XOmtK+^QSJiX6(&NJBvnixMeIUxF9yP?h#?+F1~Uq>7bvwpbzS{f#Vl?JL@mv-cMZva zsSTMrry`7qK(c9A`n%rozV7U5`=-ayZfoYA<`{DC2Se_m(G^HE$88|@P}j9jB;KM5 z1(8VYtVYv7S^{@fL}iJnYY(*wWD3Qr5)~8$W-lAF)icbF?!-~Xs)BnL#d+4LSVKiX zIn~UbzVlIFdECEYPpbc^7e@gPq?2kCk0>F(k&nsP6BSRf&VFboCtmYb$MO7jUB&Z> zRwcx970XzWtEvRs6j&%Uu1|@AT@U7aEnXSA8*kY?r>(y+WE&=iS8YxDf<@XHq^%(Y zWZSq3NV~n69(yxy0_Px4QW?id?%s1B;5=3Ofkdg?=i(gGedNA*Df1lD1O>rDY*vg< ziZBa|%nTE86Sue{guH5m6}ZhaL-@BOBlvB8h?*~zz9Y{!r+>-dj(yh0(x_0vQ!vR= z3Ctns6_Grd?iXPPvEoC2_L*-JZmRhUg%9O(P{sZ9!vP)-@N7KBGfM+(T#BY&_$SL> lStP(RQdO8^n&UKb{BJ7AqR!|@@wQJUj2d3~ifdl}>wk~;$t?f? literal 0 HcmV?d00001 diff --git a/src/C10_Tri_et_complexite/C103_Algorithme_de_tri/Bubble.java b/src/C10_Tri_et_complexite/C103_Algorithme_de_tri/Bubble.java new file mode 100644 index 0000000..8fe22fb --- /dev/null +++ b/src/C10_Tri_et_complexite/C103_Algorithme_de_tri/Bubble.java @@ -0,0 +1,23 @@ +package C10_Tri_et_complexite.C103_Algorithme_de_tri; + +public class Bubble { + + Bubble(int[] a){ + Short.printList(a); + + boolean shorted = false; + while (shorted == false) { + shorted = true; + for (int i = 0; i < a.length-1; i++) { + if (a[i] > a[i+1]) { + int tmp = a[i]; + a[i] = a[i+1]; + a[i+1] = tmp; + shorted = false; + } + } + } + + Short.printList(a); + } +} diff --git a/src/C10_Tri_et_complexite/C103_Algorithme_de_tri/Selection.java b/src/C10_Tri_et_complexite/C103_Algorithme_de_tri/Selection.java index 4799e56..bb9869f 100644 --- a/src/C10_Tri_et_complexite/C103_Algorithme_de_tri/Selection.java +++ b/src/C10_Tri_et_complexite/C103_Algorithme_de_tri/Selection.java @@ -1,18 +1,10 @@ package C10_Tri_et_complexite.C103_Algorithme_de_tri; -import java.util.Random; - -// Tri d'un tableau; - public class Selection { - public static void main(String[] args) throws Exception { - new Selection(100); - } + Selection(int[] a){ + Short.printList(a); - Selection(int n){ - int[] a = newList(n); - printList(a); for (int i = 0; i < a.length-1; i++) { int min = a[i]; int iMin = i; @@ -26,22 +18,7 @@ public class Selection { a[i] = a[iMin]; a[iMin] = tmp; } - printList(a); - } - int[] newList(int size){ - int[] a = new int[size]; - Random r = new Random(); - for (int i = 0; i < a.length; i++) { - a[i] = r.nextInt(1000); - } - return a; - } - - static void printList(int[] a){ - for (int i : a) { - System.out.print(i + " "); - } - System.out.println("\n"); + Short.printList(a); } } diff --git a/src/C10_Tri_et_complexite/C103_Algorithme_de_tri/Short.java b/src/C10_Tri_et_complexite/C103_Algorithme_de_tri/Short.java new file mode 100644 index 0000000..dae4c71 --- /dev/null +++ b/src/C10_Tri_et_complexite/C103_Algorithme_de_tri/Short.java @@ -0,0 +1,46 @@ +package C10_Tri_et_complexite.C103_Algorithme_de_tri; + +import java.util.Random; + +import tools.Chrono; + +public class Short { + private static boolean print = false; + public static void main(String[] args) { + int[] a = newList(1000); + + + Chrono selection = new Chrono("Selection"); + new Selection(a.clone()); + selection.stop(); + + if(print) System.out.println("-----------\n"); + + Chrono bubble = new Chrono("Bubble"); + new Bubble(a.clone()); + bubble.stop(); + + System.out.println(selection); + System.out.println(bubble); + } + + private static int[] newList(int size){ + int[] a = new int[size]; + Random r = new Random(); + for (int i = 0; i < a.length; i++) { + a[i] = r.nextInt(1000); + } + return a; + } + + static void printList(int[] a){ + if (print) { + for (int i : a) { + System.out.print(i + " "); + } + System.out.println("\n"); + } + } + + +} diff --git a/src/tools/Chrono.java b/src/tools/Chrono.java new file mode 100644 index 0000000..a702d6f --- /dev/null +++ b/src/tools/Chrono.java @@ -0,0 +1,24 @@ +package tools; + +public class Chrono { + private long start, end, total; + private String name; + + public Chrono(String name){ + this.name = name; + start = System.nanoTime(); + } + + public void stop(){ + end = System.nanoTime(); + total = (long) ((end- start)/1000.0); + } + + public String toString(){ + String s = name; + s += " : \t"; + s += total; + s += " uS"; + return s; + } +}