From 665552486aaa27eeea862df982c1717e9cf34bd0 Mon Sep 17 00:00:00 2001 From: Etienne Rey-bethbeder Date: Sun, 4 Dec 2022 19:48:24 +0100 Subject: [PATCH] push --- .push_swap.c.swn | Bin 0 -> 12288 bytes Makefile | 7 ++-- push_swap | Bin 0 -> 18289 bytes push_swap.c | 105 +++++++++++++++++++++++++++++++++++------------ push_swap.h | 8 +++- push_swap.o | Bin 0 -> 4752 bytes 6 files changed, 90 insertions(+), 30 deletions(-) create mode 100644 .push_swap.c.swn create mode 100755 push_swap create mode 100644 push_swap.o diff --git a/.push_swap.c.swn b/.push_swap.c.swn new file mode 100644 index 0000000000000000000000000000000000000000..37ca323b5d1a3cfa4511c5d2b81d23f4b7259b33 GIT binary patch literal 12288 zcmeI2PiP}m9LL|PsAH{)e-H%mnLu}%q)BF)tzou}i@P2?RQ$6Qq1Nssc}X6fOyXoF zZ8mgQP%mEngGb#(g}v-WJjmin1icF01aE=|K|JnZ{r=`p{*OCvZet z6n4ZL2^E189E&}(h?cJ1!Cm#@uMQKQNM<-i>~5crLy^8CiK zX%uO1I`u4n?9q)omQfp&1IhvAfO0@Npd3&RC%4;)YhFN1Y(4x9q_fWIGL>@V;O_zqkHUxUxUr{ELdfi7r)3t$~s;3QZ8 zbKq`pQ)BE;@CW!A{0OdrufSFC1^66X2K(S0Ab|}ofH%P_U;#V{9tXGJp5wKa?eR>Q#MUDI(GeL)CTecggDQFH2JNcw^sb%bGE8)cd5RfB z$emXz@R%=fgRiZH31B|Xl=5_hi=-%2gCdJV?%J{XM5SmY6)|vovgwLCr-%^;woMIX zy2$6?kWJ##=?_`IBkS7eeb3NEPIe#@co0TLNhfE>6}yxm<&W-WTe?(hGBT`v{M|H4 z&y~u{E2T0`U@*=Ez39Y6c~E7i3LY5&VXU97?qqghm9dm3MUHMjXRo-08Gf)z46 zb7U9K6iDz0uS9U8Tep2tx42m}&4OVRmW$|G#Z#7P@aljkuQ!iwold9G$7guqz36x* z5j^XOX+d+D8!J|+Y#HWEL7vW%V$#HN{J*7~g;@LpA@oLaW5E{&);O)zw(a$$d!}R} zmCD5GQ8yIHT8YwxW|Hz~>0vvhHdaKOv3epnK4P`QN?KVfS{iqvCJ{WW%G5f`N+i*v W3$y=Aa7sP?5(ysJgMx>y!2ShuZx=5B literal 0 HcmV?d00001 diff --git a/Makefile b/Makefile index c8358b5..ecf0fda 100644 --- a/Makefile +++ b/Makefile @@ -6,16 +6,17 @@ # By: erey-bet +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2022/09/27 04:19:30 by erey-bet #+# #+# # -# Updated: 2022/11/23 16:46:50 by erey-bet ### ########.fr # +# Updated: 2022/12/02 19:24:34 by erey-bet ### ########.fr # # # # **************************************************************************** # SRCS = push_swap.c OBJS = ${SRCS:.c=.o} CC = clang -CFLAGS = -Wall -Wextra -Werror +CFLAGS = -g -Wall -Wextra -Werror NAME = push_swap +# TU OUBLIS PAS LE -G DANS CFLAGS HEIN all: ${NAME} @@ -136,4 +137,4 @@ coffee: @echo ' """------"""' ${MAKE} coffee -.PHONY: all clean fclean re coffee +.PHONY: all clean fclean re coffee gdb diff --git a/push_swap b/push_swap new file mode 100755 index 0000000000000000000000000000000000000000..0b9d24f4aadcd433489ae9ee1c3bb24f10145152 GIT binary patch literal 18289 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 +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/11/23 16:48:12 by erey-bet #+# #+# */ -/* Updated: 2022/11/30 20:05:21 by erey-bet ### ########.fr */ +/* Updated: 2022/12/04 19:48:15 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,51 +15,105 @@ #include -void get_index(int **tab,int len) +int get_min(long *tab, int len) +{ + int i; + int index; + + i = 0; + index = 0; + while (++i < len) + if (tab[i] <= tab[index]) + index = i; + return (index); +} + +unsigned int *get_index(long *tab, int len) { int i; - int y; int min; - int old_min; - int new_index; + unsigned int *new; i = -1; - min = *tab[0]; - old_min = *tab[0]; - new_index = 0; + min = tab[0]; + new = malloc(sizeof(unsigned int) * (len + 1)); while (++i < len) { - y = -1; - while (++y < len) - { - if (*tab[y] < min && *tab[y] <= old_min) - { - min = *tab[y]; - *tab[y] = new_index++; - } - old_min = min; - } + min = get_min(tab, len); + tab[min] = 2147483648; + new[min] = i; } - for (i = 0 ; i < len ; i++) + return (new); +} + +void swap(t_stack *s) +{ + unsigned int c; + + c = *s.list[0]; + *s.list[0] = *s.list[1]; + *s.list[1] = c; + write(1, "sa", 2); +} + +void push(t_stack *s_push, t_stack *s_receive, char *message) +{ + int i; + int push; + + i = 0; + push = *s_push.list[0]; + while (++i < *s_push.len) + *s_push.list[i - 1] = *s_push.list[i]; + i = 0; + while (++i < *s_receive.len) { - printf("%d", *tab[i]); + } } -void push_swap(int *tab, int len) +void rotate() { - get_index(&tab, len); + +} + +void get_number_in_top(t_stack **s, int y, int len) +{ + if (len - y + 1 < len / 2) +} + +void push_swap(long *tab, int len) +{ + int i; + int y; + t_stack sa; + t_stack sb; + + sa.list = get_index(tab, len); + sa.len = len; + sb.list = malloc(sizeof(unsigned int) * (len + 1)); + sb.len = 0; + i = 0; + y = 1; + while (i < len) + { + if ((sa.list[i] >> y) & 1 == 1) + { + if (i > 0) + // get number in top + } + } } int main(int argc, char *argv[]) { - int *tab; + long *tab; int i; int y; i = 0; y = 0; - tab = malloc(sizeof(int) * (argc + 1)); + tab = malloc(sizeof(long) * (argc + 1)); if (argc > 1) { while (++i < argc) @@ -72,8 +126,7 @@ int main(int argc, char *argv[]) return (1); } } - get_index(&tab, y); - //push_swap(tab, argc); + get_index(tab, y); } return (0); diff --git a/push_swap.h b/push_swap.h index 8d982c2..b21b619 100644 --- a/push_swap.h +++ b/push_swap.h @@ -6,7 +6,7 @@ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/11/23 16:51:31 by erey-bet #+# #+# */ -/* Updated: 2022/11/23 16:53:17 by erey-bet ### ########.fr */ +/* Updated: 2022/12/04 18:02:57 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,4 +16,10 @@ # include # include +typedef struct s_stack +{ + unsigned int *list; + int len; +} t_stack; + #endif diff --git a/push_swap.o b/push_swap.o new file mode 100644 index 0000000000000000000000000000000000000000..ff1edb81d0c099319d0b597d219f88179ce6ce89 GIT binary patch literal 4752 zcmbuCeP|rj7QpZ9?48|glFdic+WM9FtcsLOnzj#Wvuaevj?s!wjpR{lGTBVBi~Eu8 z&ZMat4T*}&qP9>UJ_UU|c<&)96doc((3Yy{^9%h$&_5pJkBZ4Ne?+Jfun^C=bIHKL5&7q9mFMYo@|f#slC`pzuPte4#L zi^dubEE=oWl#R9dQ%cEL>od-`Jbxn)vuv!J$pdR!S?jhS3GPk$d;Mh~-OEY&98jkG+o zUUtt53viRQtS-RNtXb+fTONeEj3uaVwbb$4%6ndtC3F76u0voe9{ zo-YD|de@-db7nblR(Q>?vzDiO>W!GmFTr}bd|;{c#r(%g$%Tpj2dBMq9hiTB58Qko zZbBCDafpCWG!Ct7#oOazNoJPI?h*~6dD*z&P1-0F@`V^v+LY_!o46Wpz3hs3o6-)! zLOQ^9t$(W;-`CjJc*C~4Hr=|7F_p8BM0agsEWD>is$=2M@kya|pe1M-p>0O3 z8u1xWWW>&Sf5gt3h@CQq7x9{!h<}jUh=_kJMqwQLDEO3Q{N75ny*06WrGE zGUNYM{r93>B?f6;MSEX`F_@zlV;{x`ZA?V$tEn%68pDmkcsTMLD54(;M@~?mMYAv2@N6{d8{3 zo@Q>Yn4ZYlV_k@=##sw29cz?j@=z6yWo&Q-XLQ0aIr|8+3KL1ZO|fLkDzKw)H2s#z zbl_5fD39IGl<8LGil#{P7_7{d!0}%Xqge|*2o~O00yzlovg-J3W&B~} zAh=5^<0E2N#C`%f2=0Q)c<4J}a4*ylX4k@iqA0(_o3R0e?*OH`M(_lLG*ot!+OF_$ z>?Du6yuszo+A$tV@Q60S+q4B9pW~4M-UM1qOYo4kkH-!|li*A{0bVQUrD+boLA#mn z0DOIdZ%^>(0M~|igLXHCYtvGEi#EU;Ao37b!MI7A<8kdc^b@>k4npqbu}7d8fXLA; zyd(BK-v&wyf(>y6BC+UZNEkij@=lj;2d}FW{7OpI2nHIMtB@xKspH4En&6v3i)agT zd@I!73bWyJJT}1jTRfiNd_X%Go#(20bb&Xku_4}${y4{nx#ETzVEMe2y43wN420Q_ z8}-K3>VZ--tjYtf27;ni4~Uu}mBGfTBPwgYh&~CV^&-mH$R#*VuN~^daTKv9p?v@@ zsh4F-dBv+7*k1#j>Y@B(Px?Cnd#dM5fd5Qv=E3D(&b;IuwhNltm`_qQWp|B}piQ-HrG`ThVu zCHY{0Q=Q2Gr*%6V;Gf7iGXXv+c`3m0oI-giz+dw)`)7cEBzc!?aWDJ#bAN!3NS#`; zr{^^*$BEN=?vxzU`{TzNnxc`o@8d%svq#;DVQX}>U{5iLfotO z%60g?&F2une{NE|N1DCfDgoKb$6ld$ej)RpbvW3MHxT?I;Fngv0{v}p`OjM#J|$nN z-$;Od7>eGs_!kKUfA5%o7b-p(ka;6MhFz+k+D0GqoBm1qPx@gU+x>MIx}28&Z&M77;`6Fe#yz8pZOv5DL=K_B@6oRlP^2{|M=&8 zG5w|~>F;OQr@X{ZdTdfI7hy*JFIR}yq4^WW^RC|dEy)-6h&06Y!)HzYw0~X)7OY9Q z$PG>3DT39p#dEk`{(kxUp*)x$Q853rz|?y-^3cq}Rgod-ProblM+w&YHL&2?q1}+& N_$ldt4WeNFUjdWRbnO5D literal 0 HcmV?d00001