need to fix

This commit is contained in:
Maoake Teriierooiterai
2026-01-15 18:42:15 +01:00
parent 469320374d
commit afa8785379
10 changed files with 1633 additions and 11 deletions

1
.gitignore vendored
View File

@@ -61,7 +61,6 @@ dkms.conf
push_swap
checker
checker_linux
playtest.sh
# File obj
obj/

View File

@@ -39,7 +39,8 @@ CHECKER_FILES = check_error.c verif_flag.c verif_is_digit.c verif_overflow.c ver
STACK_UTILS = push.c rev_rotate.c rotate.c stack_add.c stack_remove.c stacks_len.c swap.c
MEDIUM_ALGO = utils_medium.c utils_struct_tab.c utils_medium_two.c sort_utils.c sort_utils_two.c medium_algo.c
MEDIUM_ALGO = utils_medium.c utils_struct_tab.c utils_medium_two.c sort_utils.c sort_utils_two.c medium_algo.c \
sort_utils_tree.c
COMPLEX_ALGO = radix.c

View File

@@ -13,7 +13,7 @@
#include "push_swap.h"
#include "medium_headers.h"
#include <stdlib.h>
#include <stdio.h>
static int path_to_end(t_stacks *stacks, int max_range, int range, char c)
{
t_stack *tmp;
@@ -95,6 +95,7 @@ void bucket_algo(t_stacks *stacks, t_tab *preset, int range)
tmp = preset;
while(stacks->a)
pb(stacks);
//stacks->print = 0;
while (preset)
{
push_range_to_b(stacks, preset, range);
@@ -106,7 +107,5 @@ void bucket_algo(t_stacks *stacks, t_tab *preset, int range)
free(preset);
preset = tmp;
}
while (stacks->b)
pa(stacks);
return ;
}

View File

@@ -12,6 +12,22 @@
#include "push_swap.h"
#include "medium_headers.h"
#include <stdio.h>
static int move_next(t_stack *tmp, int value)
{
int i;
i = 0;
if (tmp->previous->value < value)
return (70000);
while (tmp->value < value)
{
tmp = tmp->next;
i++;
}
return (i);
}
static int number_move_reverse(t_stacks *stacks, int value, char start_end)
{
@@ -22,11 +38,7 @@ static int number_move_reverse(t_stacks *stacks, int value, char start_end)
tmp = stacks->a;
if (start_end == 's')
{
while (tmp->value < value)
{
tmp = tmp->next;
i++;
}
i = move_next(tmp, value);
}
else
{
@@ -40,7 +52,7 @@ static int number_move_reverse(t_stacks *stacks, int value, char start_end)
return (i);
}
static int sort_path(t_stacks *stacks, int value)
int sort_path(t_stacks *stacks, int value)
{
int start_path;
int end_path;
@@ -75,10 +87,25 @@ static void sort_little_pile(t_stacks *stacks)
void push_range_to_b(t_stacks *stacks, t_tab *one_preset, int range)
{
int value;
int i;
i = 0;
while (one_preset->nb_in > 0)
{
if (i > 0)
{
value = get_value_finded(stacks, one_preset, range);
opti_path(stacks, one_preset, range, value);
}
normal_move_path(stacks, one_preset, range);
opti2_move_path(stacks, one_preset, range);
sort_little_pile(stacks);
while (stacks->a->value > stacks->a->previous->value)
ra(stacks);
one_preset->nb_in--;
i++;
if (!check_order(stacks->a))
return ;
}
}

View File

@@ -0,0 +1,119 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* sort_utils_tree.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: mteriier <mteriier@student.42lyon.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2026/01/15 12:20:06 by mteriier #+# #+# */
/* Updated: 2026/01/15 12:20:07 by mteriier ### ########lyon.fr */
/* */
/* ************************************************************************** */
#include "push_swap.h"
#include "medium_headers.h"
#include <stdio.h>
void opti2_move_path(t_stacks *stacks, t_tab *one_preset, int range)
{
int value;
int len;
value = stacks->b->value;
len = stack_a_len(stacks);
if (in_range(value, one_preset->max_range, range) && len > 0)
{
while (value < stacks->a->previous->value && !check_order(stacks->a))
rra(stacks);
}
}
static int get_pre_move_b(t_stacks *stacks, t_tab *one_preset, int range)
{
int i;
t_stack *tmp;
i = 0;
tmp = assign_stack(stacks, 'b');
if (wich_path(stacks, one_preset->max_range, range, 'b'))
{
while (!in_range(tmp->value, one_preset->max_range, range))
{
i++;
tmp = tmp->next;
}
}
else
while (!in_range(tmp->value, one_preset->max_range, range))
{
i++;
tmp = tmp->previous;
}
return (i);
}
static int get_pre_move_a(t_stacks *stacks, int val)
{
int i;
t_stack *tmp;
i = 0;
tmp = assign_stack(stacks, 'a');
if (sort_path(stacks, val))
{
while (val > tmp->value)
{
i++;
tmp = tmp->next;
}
}
else
{
tmp = tmp->previous;
while (val < tmp->value)
{
i++;
tmp = tmp->previous;
}
}
return (i);
}
static int get_min_move(t_stacks *stacks, t_tab *one_preset, int range, int val)
{
int b;
int a;
a = get_pre_move_a(stacks, val);
b = get_pre_move_b(stacks, one_preset, range);
if (a < b)
return (a);
else
return (b);
}
void opti_path(t_stacks *stacks, t_tab *one_preset, int range, int val)
{
int move;
int i;
i = 0;
if (sort_path(stacks, val)
&& wich_path(stacks, one_preset->max_range, range, 'b'))
{
move = get_min_move(stacks, one_preset, range, val);
while (i < move)
{
rr(stacks);
i++;
}
}
else if (!sort_path(stacks, val)
&& !wich_path(stacks, one_preset->max_range, range, 'b'))
{
move = get_min_move(stacks, one_preset, range, val);
while (i < move)
{
rrr(stacks);
i++;
}
}
}

View File

@@ -12,6 +12,24 @@
#include "push_swap.h"
#include "medium_headers.h"
#include <stdio.h>
int get_value_finded(t_stacks *stacks, t_tab *one_preset, int range)
{
int value;
t_stack *tmp;
tmp = assign_stack(stacks, 'b');
if (wich_path(stacks, one_preset->max_range, range, 'b'))
{
while (!in_range(tmp->value, one_preset->max_range, range))
tmp = tmp->next;
}
else
while (!in_range(tmp->value, one_preset->max_range, range))
tmp = tmp->previous;
value = tmp->value;
return (value);
}
void normal_move_path(t_stacks *stacks, t_tab *one_preset, int range)
{

500
arggs.txt Normal file
View File

@@ -0,0 +1,500 @@
2274
5953
9628
4802
1713
532
8760
4036
3385
724
6261
5005
6245
7492
8651
8907
3466
3704
2575
8020
8413
2057
3114
7857
9276
1990
9674
5660
6539
4399
668
8864
5003
3123
6364
4006
9045
699
4978
6518
2192
8226
779
2526
3413
9033
964
5810
5444
4586
9250
270
9088
6923
2094
3090
7384
9226
713
280
6308
6619
2430
734
5024
9322
2423
8611
155
702
1433
1948
5891
4065
4449
8391
8829
2343
4436
451
4472
6897
4262
9737
6251
2514
6343
2328
8502
1934
7367
1746
8162
4089
4874
652
6940
1076
215
108
3560
8249
6324
14
9897
1441
1172
3584
5009
9067
8978
1204
749
4872
3071
35
5018
2861
9358
4716
1370
7683
1861
5160
1929
3513
2625
8538
1490
2436
4327
1695
8245
1266
2093
3253
5279
3208
8101
3544
4822
6651
2720
8036
5182
5725
3941
1809
8557
9594
2812
2071
6305
6922
5041
5203
7080
543
4898
6557
2769
9649
557
181
2715
4257
7401
5069
1431
6502
122
3034
8791
6630
3182
585
5795
7750
4685
9686
9297
2745
2216
4625
8904
3797
3450
6465
8292
2051
9244
8214
1467
1293
7551
4098
5142
8874
8627
917
5445
2970
3622
9372
7902
6409
443
8410
8827
7007
9790
2694
3950
3847
9423
9873
3221
1538
7300
773
6891
4542
2475
5294
4132
853
7174
8971
730
5175
8878
1174
2126
1723
425
272
573
7559
6543
571
3270
5285
1874
9419
2632
8142
6450
4853
7120
3237
2870
6133
7853
4229
3921
6121
5671
2556
4103
2649
225
4766
153
2195
1087
2765
9591
7869
1528
8099
6100
3503
3580
4393
918
9178
3833
6052
5807
9313
4772
5547
9927
7905
1055
7901
2721
9093
9152
2804
8010
9168
9818
5828
7545
9461
7856
3974
4460
6571
9312
7606
9400
916
4941
535
5383
57
7261
5404
7100
7930
6601
8692
1010
4028
1975
895
1036
7428
4078
884
8655
9431
4878
4736
6513
299
3891
5361
8780
6243
9994
9279
6340
2733
1738
2288
8161
1006
8620
6652
3735
4890
8988
9334
8858
6661
883
3781
5731
6455
4520
6165
7355
6124
4434
193
3016
1665
9676
466
4338
8328
8340
3390
9925
6080
7472
7235
9350
5320
7411
8935
296
4366
7912
444
5380
4521
1739
325
5717
3142
1613
1379
5722
4418
5289
2962
9291
9577
6126
491
5376
9830
542
2795
8879
4467
8007
3738
9390
9249
4233
1043
2230
4903
6722
564
7691
2687
1235
7372
9575
9351
7656
2188
4395
5537
9645
8187
3769
1265
5084
9293
1065
5241
326
1254
6004
8062
464
9248
8374
1896
3058
9678
8972
7061
5097
1081
5506
3557
3615
405
9215
7999
8554
9931
5462
424
1053
9190
4011
5337
8294
7753
8587
4177
8631
9573
1589
7757
503
9452
845
6069
5384
5653
4196
2938
9739
2428
3049
2069
3694
6712
212
5546
9061
9472
9749
9973
6476
4332
5889
3356
323
5509
486
7558
4757
1255
596
8610
703
5264
4798
7932

500
args.txt Normal file
View File

@@ -0,0 +1,500 @@
467
484
199
244
257
411
228
384
27
476
402
315
57
353
23
72
35
187
254
103
262
148
239
369
251
334
299
347
290
419
0
223
269
282
150
371
475
130
123
85
311
414
11
256
32
91
47
28
195
265
89
432
452
2
404
366
153
121
160
468
161
126
168
466
86
97
427
326
3
487
87
338
110
227
492
441
417
38
349
261
118
497
443
403
45
117
92
274
410
197
59
145
146
181
433
69
473
119
336
209
454
436
43
132
98
8
293
260
276
264
500
406
51
412
465
439
166
407
382
186
164
182
284
55
36
83
285
106
34
105
243
175
400
494
429
215
397
7
351
280
221
79
26
319
122
499
210
365
66
107
425
234
387
291
364
24
33
287
242
62
178
250
94
288
245
226
211
398
445
191
354
415
305
143
90
281
381
188
238
163
253
458
378
25
189
271
306
61
169
461
17
431
29
70
64
41
490
292
111
177
114
255
184
272
125
225
273
496
252
361
345
206
196
22
304
42
10
379
277
142
453
437
162
60
341
418
266
52
408
219
141
49
450
368
446
258
308
116
128
322
183
423
455
464
198
389
471
459
237
44
489
15
84
179
231
451
50
185
395
317
82
297
493
396
14
263
482
448
312
377
203
320
374
176
216
76
205
140
129
240
332
428
422
330
217
248
200
390
383
156
53
401
135
327
170
40
48
391
328
155
56
74
77
16
30
435
355
301
167
220
235
300
289
172
131
460
246
31
194
247
485
463
359
12
134
95
249
6
307
190
373
409
342
358
88
112
5
426
20
488
120
314
421
9
420
204
78
346
154
13
115
236
63
357
474
37
386
71
495
335
147
101
149
486
385
394
372
65
302
144
449
283
405
214
376
165
356
124
380
1
208
337
102
139
478
229
202
469
375
462
440
333
201
491
457
108
158
316
275
470
350
138
171
137
113
207
267
212
136
295
442
18
151
100
438
157
68
296
241
483
99
96
321
339
39
472
294
329
233
21
259
159
298
133
286
348
230
331
73
109
367
192
416
173
268
213
75
481
58
324
480
370
270
46
278
343
323
363
81
352
325
498
444
180
232
434
392
4
279
218
127
222
174
19
224
424
456
344
54
388
430
362
67
479
360
413
310
80
193
313
477
447
303
309
104
399
318
93
393
340

View File

@@ -29,7 +29,11 @@ void sort_from_left(t_stacks *stacks);
void sort_from_right(t_stacks *stacks);
void push_range_to_b(t_stacks *stacks, t_tab *one_preset, int range);
void normal_move_path(t_stacks *stacks, t_tab *one_preset, int range);
void opti_path(t_stacks *stacks, t_tab *one_preset, int range, int val);
void opti2_move_path(t_stacks *stacks, t_tab *one_preset, int range);
int sort_path(t_stacks *stacks, int value);
t_stack *assign_stack(t_stacks *stacks, char c);
int get_value_finded(t_stacks *stacks, t_tab *one_preset, int range);
/* MEDIUM UTILS FILES */
int range_bucket(t_stack *first);
int get_first_lower(t_stack *first);

455
playtest.sh Executable file
View File

@@ -0,0 +1,455 @@
#!/bin/bash
while true
do
echo "=========================="
echo " 0 - ----- ONLY NEGATIF"
echo " 1 - ----- ONLY POSITIF"
echo " 2 - ------------ MIXTE"
echo " 3 - -------- SANS FLAG"
echo " 4 - ------ SIMUL ERROR"
echo " 5 - ------- TEST BENCH"
echo " 6 - TEST BENCH SORTIE"
echo " 7 - ------- TEST LEN 3"
echo " 8 - ------- TEST LEN 5"
echo " 9 - ----- TEST LEN 500"
echo "10 - ------ CLOSE TEST"
echo "ENTRER LE TEST QUE TU VEUX FAIRE : "
read nombre
case "$nombre" in
0)
echo "ONLY NEGATIF"
echo "#################################################"
echo "#################################################"
echo "========================"
echo "======TEST SIMPLE N====="
echo "========================"
ARG="2147483647 -2147483648 8 9 -35 40 -20 7 5 30 10"; ./push_swap --simple $ARG | ./checker $ARG
ARG="-147 -71 -59 -194 -86 -14 -49 -32 -137 -113"; ./push_swap --simple $ARG | ./checker $ARG
ARG="-127 -57 -151 -163 -159 -66 -128 -147 -68 -83"; ./push_swap --simple $ARG | ./checker $ARG
ARG="-64 -109 -102 -176 -15 -19 -103 -38 -192 -37"; ./push_swap --simple $ARG | ./checker $ARG
echo "========================"
echo "======TEST MEDIUM N====="
echo "========================"
ARG="2147483647 -2147483648 8 9 -35 40 -20 7 5 30 10"; ./push_swap --medium $ARG | ./checker $ARG
ARG="-147 -71 -59 -194 -86 -14 -49 -32 -137 -113"; ./push_swap --medium $ARG | ./checker $ARG
ARG="-127 -57 -151 -163 -159 -66 -128 -147 -68 -83"; ./push_swap --medium $ARG | ./checker $ARG
ARG="-64 -109 -102 -176 -15 -19 -103 -38 -192 -37"; ./push_swap --medium $ARG | ./checker $ARG
echo "========================"
echo "======TEST COMPLEX N===="
echo "========================"
ARG="2147483647 -2147483648 8 9 -35 40 -20 7 5 30 10"; ./push_swap --complex $ARG | ./checker $ARG
ARG="-147 -71 -59 -194 -86 -14 -49 -32 -137 -113"; ./push_swap --complex $ARG | ./checker $ARG
ARG="-127 -57 -151 -163 -159 -66 -128 -147 -68 -83"; ./push_swap --complex $ARG | ./checker $ARG
ARG="-64 -109 -102 -176 -15 -19 -103 -38 -192 -37"; ./push_swap --complex $ARG | ./checker $ARG
;;
1)
echo "#################################################"
echo "#################################################"
echo "ONLY POSITIF"
echo "#################################################"
echo "#################################################"
echo "========================"
echo "======TEST SIMPLE P====="
echo "========================"
ARG="147 71 59 194 86 14 49 32 137 113"; ./push_swap --simple $ARG | ./checker $ARG
ARG="127 57 151 163 159 66 128 147 68 83"; ./push_swap --simple $ARG | ./checker $ARG
ARG="64 109 102 176 15 19 103 38 192 37"; ./push_swap --simple $ARG | ./checker $ARG
echo "========================"
echo "======TEST MEDIUM P====="
echo "========================"
ARG="147 71 59 194 86 14 49 32 137 113"; ./push_swap --medium $ARG | ./checker $ARG
ARG="127 57 151 163 159 66 128 147 68 83"; ./push_swap --medium $ARG | ./checker $ARG
ARG="64 109 102 176 15 19 103 38 192 37"; ./push_swap --medium $ARG | ./checker $ARG
echo "========================"
echo "======TEST COMPLEX P===="
echo "========================"
ARG="147 71 59 194 86 14 49 32 137 113"; ./push_swap --complex $ARG | ./checker $ARG
ARG="127 57 151 163 159 66 128 147 68 83"; ./push_swap --complex $ARG | ./checker $ARG
ARG="64 109 102 176 15 19 103 38 192 37"; ./push_swap --complex $ARG | ./checker $ARG
;;
2)
echo "#################################################"
echo "#################################################"
echo "MIXTE"
echo "#################################################"
echo "#################################################"
echo "========================"
echo "======TEST SIMPLE P====="
echo "========================"
ARG="0 147 71 -59 194 -86 -14 49 32 137 113"; ./push_swap --simple $ARG | ./checker $ARG
ARG="127 57 -151 163 -159 0 66 -128 147 68 83"; ./push_swap --simple $ARG | ./checker $ARG
ARG="64 109 102 176 15 19 -103 38 192 37 0"; ./push_swap --simple $ARG | ./checker $ARG
echo "========================"
echo "======TEST MEDIUM P====="
echo "========================"
ARG="0 147 71 -59 194 86 14 49 32 137 113"; ./push_swap --medium $ARG | ./checker $ARG
ARG="127 57 151 -163 0 159 66 128 147 68 83"; ./push_swap --medium $ARG | ./checker $ARG
ARG="64 109 -102 176 15 19 -103 38 192 37 0"; ./push_swap --medium $ARG | ./checker $ARG
echo "========================"
echo "======TEST COMPLEX P===="
echo "========================"
ARG="0 147 71 59 -194 86 14 49 32 137 113"; ./push_swap --complex $ARG | ./checker $ARG
ARG="127 57 151 0 163 159 -66 128 -147 68 83"; ./push_swap --complex $ARG | ./checker $ARG
ARG="64 -109 102 -176 15 19 -103 38 192 37 0"; ./push_swap --complex $ARG | ./checker $ARG
;;
3)
echo "#################################################"
echo "#################################################"
echo "SANS FLAG"
echo "#################################################"
echo "#################################################"
ARG="0 147 71 -59 194 -86 -14 49 32 137 113"; ./push_swap $ARG | ./checker $ARG
ARG="127 57 -151 163 -159 0 66 -128 147 68 83"; ./push_swap $ARG | ./checker $ARG
ARG="64 109 102 176 15 19 -103 38 192 37 0"; ./push_swap $ARG | ./checker $ARG
;;
4)
echo "#################################################"
echo "#################################################"
echo "SIMUL ERROR ON PUSH_SWAP"
echo "#################################################"
echo "#################################################"
echo "DOUBLE FLAG"
ARG="0 147 71 59 -194 86 14 49 32 137 113"; ./push_swap --complex --complex $ARG
ARG="0 147 71 59 -194 86 14 49 32 137 113"; ./push_swap --simple --simple $ARG
ARG="0 147 71 59 -194 86 14 49 32 137 113"; ./push_swap --medium --mediun $ARG
ARG="0 147 71 59 -194 86 14 49 32 137 113"; ./push_swap --adaptive --adaptive $ARG
ARG="0 147 71 59 -194 86 14 49 32 137 113"; ./push_swap --bench --bench $ARG
echo "#################################################"
echo "SAME TYPE FLAG"
ARG="0 147 71 59 -194 86 14 49 32 137 113"; ./push_swap --simple --complex $ARG
echo "#################################################"
echo "TOO MUCH FLAG"
ARG="0 147 71 59 -194 86 14 49 32 137 113"; ./push_swap --simple --bench --adaptive $ARG
echo "#################################################"
echo "WRONG FLAG"
ARG="0 147 71 59 -194 86 14 49 32 137 113"; ./push_swap --simple --test --error $ARG
echo "#################################################"
echo "DOUBLE NUMBER"
ARG="0 147 71 59 -194 86 14 49 32 137 0 113"; ./push_swap --simple --test --error $ARG
echo "#################################################"
echo "TEST WRONG INPUT ON THE NUMBERS"
./push_swap --simple 5 3 4 2 d
./push_swap --simple 5 3 c 4 2
./push_swap --simple v 5 3 4 2
./push_swap --simple 5 3 4 2 455313212345
./push_swap --simple 5 3 4 2 "++++432"
./push_swap --simple 5 3 4 2 +++--43
./push_swap --simple 5 3 4 2 +
;;
5)
echo "#################################################"
echo "TEST BENCH"
echo "#################################################"
echo "========================"
echo "======TEST SIMPLE ======"
echo "========================"
ARG="147 71 59 194 86 14 49 32 137 113"; ./push_swap --simple --bench $ARG 1> test.txt
echo "#################################################"
ARG="127 57 151 163 159 66 128 147 68 83"; ./push_swap --simple --bench $ARG 1> test.txt
echo "#################################################"
ARG="64 109 102 176 15 19 103 38 192 37"; ./push_swap --simple --bench $ARG 1> test.txt
echo "========================"
echo "======TEST MEDIUM ======"
echo "========================"
ARG="147 71 59 194 86 14 49 32 137 113"; ./push_swap --medium --bench $ARG 1> test.txt
echo "#################################################"
ARG="127 57 151 163 159 66 128 147 68 83"; ./push_swap --medium --bench $ARG 1> test.txt
echo "#################################################"
ARG="64 109 102 176 15 19 103 38 192 37"; ./push_swap --medium --bench $ARG 1> test.txt
echo "========================"
echo "======TEST COMPLEX ====="
echo "========================"
ARG="147 71 59 194 86 14 49 32 137 113"; ./push_swap --complex --bench $ARG 1> test.txt
echo "#################################################"
ARG="127 57 151 163 159 66 128 147 68 83"; ./push_swap --complex --bench $ARG 1> test.txt
echo "#################################################"
ARG="64 109 102 176 15 19 103 38 192 37"; ./push_swap --complex --bench $ARG 1> test.txt
echo "========================"
echo "======TEST ADAPTIV ====="
echo "========================"
echo "#################################################"
ARG="147 71 59 194 86 14 49 32 137 113"; ./push_swap --bench $ARG 1> test.txt
echo "#################################################"
ARG="127 57 151 163 159 66 128 147 68 83"; ./push_swap --bench $ARG 1> test.txt
echo "#################################################"
ARG="64 109 102 176 15 19 103 38 192 37"; ./push_swap --bench $ARG 1> test.txt
echo "#################################################"
rm test.txt
;;
6)
echo "#################################################"
echo "TEST BENCH SI SORTIE 2"
echo "#################################################"
ARG="147 71 59 194 86 14 49 32 137 113"; ./push_swap --bench $ARG > test.txt 2> bench.txt
echo "CAT BENCH bench.txt"
cat bench.txt
ARG="127 57 151 163 159 66 128 147 68 83"; ./push_swap --bench $ARG > test.txt 2> bench.txt
echo "CAT BENCH bench.txt"
cat bench.txt
ARG="64 109 102 176 15 19 103 38 192 37"; ./push_swap --bench $ARG > test.txt 2> bench.txt
echo "CAT BENCH bench.txt"
cat bench.txt
rm bench.txt
rm test.txt
;;
7)
echo "TEST LEN 3"
echo "#################################################"
echo "#################################################"
echo "========================"
echo "======TEST SIMPLE ======"
echo "========================"
ARG="2 0 1"; ./push_swap --simple $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="2 0 1"; ./push_swap --simple $ARG | wc -l
echo "##################"
ARG="0 4 2"; ./push_swap --simple $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="0 4 2"; ./push_swap --simple $ARG | wc -l
echo "##################"
ARG="27 5 -2"; ./push_swap --simple $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="27 5 -2"; ./push_swap --simple $ARG | wc -l
echo "##################"
ARG="17 20 0"; ./push_swap --simple $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="17 20 0"; ./push_swap --simple $ARG | wc -l
echo "========================"
echo "======TEST MEDIUM ======"
echo "========================"
ARG="2 0 1"; ./push_swap --medium $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="2 0 1"; ./push_swap --medium $ARG | wc -l
echo "##################"
ARG="0 4 2"; ./push_swap --medium $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="0 4 2"; ./push_swap --medium $ARG | wc -l
echo "##################"
ARG="27 5 -2"; ./push_swap --medium $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="27 5 -2"; ./push_swap --medium $ARG | wc -l
echo "##################"
ARG="17 20 0"; ./push_swap --medium $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="17 20 0"; ./push_swap --medium $ARG | wc -l
echo "========================"
echo "======TEST COMPLEX ====="
echo "========================"
ARG="2 0 1"; ./push_swap --complex $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="2 0 1"; ./push_swap --complex $ARG | wc -l
echo "##################"
ARG="0 4 2"; ./push_swap --complex $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="0 4 2"; ./push_swap --complex $ARG | wc -l
echo "##################"
ARG="27 5 -2"; ./push_swap --complex $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="27 5 -2"; ./push_swap --complex $ARG | wc -l
echo "##################"
ARG="17 20 0"; ./push_swap --complex $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="17 20 0"; ./push_swap --complex $ARG | wc -l
echo "========================"
echo "======TEST ADAPTIV ====="
echo "========================"
ARG="2 0 1"; ./push_swap $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="2 0 1"; ./push_swap $ARG | wc -l
echo "##################"
ARG="0 4 2"; ./push_swap $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="0 4 2"; ./push_swap $ARG | wc -l
echo "##################"
ARG="27 5 -2"; ./push_swap $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="27 5 -2"; ./push_swap $ARG | wc -l
echo "##################"
ARG="17 20 0"; ./push_swap $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="17 20 0"; ./push_swap $ARG | wc -l
;;
8)
echo "TEST LEN 5"
echo "#################################################"
echo "#################################################"
echo "========================"
echo "======TEST SIMPLE ======"
echo "========================"
ARG="2 0 1 5 20"; ./push_swap --simple $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="2 0 1 5 20"; ./push_swap --simple $ARG | wc -l
echo "##################"
ARG="0 4 2 -100 7"; ./push_swap --simple $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="0 4 2 -100 7"; ./push_swap --simple $ARG | wc -l
echo "##################"
ARG="27 5 -2 10 3"; ./push_swap --simple $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="27 5 -2 10 3"; ./push_swap --simple $ARG | wc -l
echo "##################"
ARG="17 20 0 -400 -245"; ./push_swap --simple $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="17 20 0 -400 -245"; ./push_swap --simple $ARG | wc -l
echo "========================"
echo "======TEST MEDIUM ======"
echo "========================"
ARG="2 0 1 5 20"; ./push_swap --medium $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="2 0 1 5 20"; ./push_swap --medium $ARG | wc -l
echo "##################"
ARG="0 4 2 -100 7"; ./push_swap --medium $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="0 4 2 -100 7"; ./push_swap --medium $ARG | wc -l
echo "##################"
ARG="27 5 -2 10 3"; ./push_swap --medium $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="27 5 -2 10 3"; ./push_swap --medium $ARG | wc -l
echo "##################"
ARG="17 20 0 -400 -245"; ./push_swap --medium $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="17 20 0 -400 -245"; ./push_swap --medium $ARG | wc -l
echo "========================"
echo "======TEST COMPLEX ====="
echo "========================"
ARG="2 0 1 5 20"; ./push_swap --complex $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="2 0 1 5 20"; ./push_swap --complex $ARG | wc -l
echo "##################"
ARG="0 4 2 -100 7"; ./push_swap --complex $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="0 4 2 -100 7"; ./push_swap --complex $ARG | wc -l
echo "##################"
ARG="27 5 -2 10 3"; ./push_swap --complex $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="27 5 -2 10 3"; ./push_swap --complex $ARG | wc -l
echo "##################"
ARG="17 20 0 -400 -245"; ./push_swap --complex $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="17 20 0 -400 -245"; ./push_swap --complex $ARG | wc -l
echo "========================"
echo "======TEST ADAPTIV ====="
echo "========================"
ARG="2 0 1 5 20"; ./push_swap $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="2 0 1 5 20"; ./push_swap $ARG | wc -l
echo "##################"
ARG="0 4 2 -100 7"; ./push_swap $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="0 4 2 -100 7"; ./push_swap $ARG | wc -l
echo "##################"
ARG="27 5 -2 10 3"; ./push_swap $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="27 5 -2 10 3"; ./push_swap $ARG | wc -l
echo "##################"
ARG="17 20 0 -400 -245"; ./push_swap $ARG | ./checker $ARG
echo -n "MOUVEMENT :"
ARG="17 20 0 -400 -245"; ./push_swap $ARG | wc -l
;;
9)
echo "TEST LEN 500"
echo "#################################################"
echo "#################################################"
echo "========================"
echo "======TEST ADAPTIV ====="
echo "========================"
shuf -i 0-9999 -n 500 > args.txt ; ./push_swap $(cat args.txt) | ./checker $(cat args.txt)
echo -n "MOUVEMENT :"
./push_swap $(cat args.txt) | wc -l
echo "##################"
shuf -i 0-9999 -n 500 > args.txt ; ./push_swap $(cat args.txt) | ./checker $(cat args.txt)
echo -n "MOUVEMENT :"
./push_swap $(cat args.txt) | wc -l
echo "##################"
shuf -i 0-9999 -n 500 > args.txt ; ./push_swap $(cat args.txt) | ./checker $(cat args.txt)
echo -n "MOUVEMENT :"
./push_swap $(cat args.txt) | wc -l
echo "##################"
shuf -i 0-9999 -n 500 > args.txt ; ./push_swap $(cat args.txt) | ./checker $(cat args.txt)
echo -n "MOUVEMENT :"
./push_swap $(cat args.txt) | wc -l
echo "##################"
shuf -i 0-9999 -n 500 > args.txt ; ./push_swap $(cat args.txt) | ./checker $(cat args.txt)
echo -n "MOUVEMENT :"
./push_swap $(cat args.txt) | wc -l
echo "##################"
shuf -i 0-9999 -n 500 > args.txt ; ./push_swap $(cat args.txt) | ./checker $(cat args.txt)
echo -n "MOUVEMENT :"
./push_swap $(cat args.txt) | wc -l
echo "##################"
shuf -i 0-9999 -n 500 > args.txt ; ./push_swap $(cat args.txt) | ./checker $(cat args.txt)
echo -n "MOUVEMENT :"
./push_swap $(cat args.txt) | wc -l
echo "##################"
shuf -i 0-9999 -n 500 > args.txt ; ./push_swap $(cat args.txt) | ./checker $(cat args.txt)
echo -n "MOUVEMENT :"
./push_swap $(cat args.txt) | wc -l
echo "##################"
shuf -i 0-9999 -n 500 > args.txt ; ./push_swap $(cat args.txt) | ./checker $(cat args.txt)
echo -n "MOUVEMENT :"
./push_swap $(cat args.txt) | wc -l
echo "##################"
shuf -i 0-9999 -n 500 > args.txt ; ./push_swap $(cat args.txt) | ./checker $(cat args.txt)
echo -n "MOUVEMENT :"
./push_swap $(cat args.txt) | wc -l
echo "##################"
shuf -i 0-9999 -n 500 > args.txt ; ./push_swap $(cat args.txt) | ./checker $(cat args.txt)
echo -n "MOUVEMENT :"
./push_swap $(cat args.txt) | wc -l
echo "##################"
shuf -i 0-9999 -n 500 > args.txt ; ./push_swap $(cat args.txt) | ./checker $(cat args.txt)
echo -n "MOUVEMENT :"
./push_swap $(cat args.txt) | wc -l
echo "##################"
shuf -i 0-9999 -n 500 > args.txt ; ./push_swap $(cat args.txt) | ./checker $(cat args.txt)
echo -n "MOUVEMENT :"
./push_swap $(cat args.txt) | wc -l
echo "##################"
shuf -i 0-9999 -n 500 > args.txt ; ./push_swap $(cat args.txt) | ./checker $(cat args.txt)
echo -n "MOUVEMENT :"
./push_swap $(cat args.txt) | wc -l
echo "##################"
shuf -i 0-9999 -n 500 > args.txt ; ./push_swap $(cat args.txt) | ./checker $(cat args.txt)
echo -n "MOUVEMENT :"
./push_swap $(cat args.txt) | wc -l
echo "##################"
shuf -i 0-9999 -n 500 > args.txt ; ./push_swap $(cat args.txt) | ./checker $(cat args.txt)
echo -n "MOUVEMENT :"
./push_swap $(cat args.txt) | wc -l
rm args.txt
;;
10)
echo "Au revoir"
exit 0
;;
esac
echo "==============================="
echo "TAPE NIMPORTE POUR GO NEXT : "
read tape
clear
done