mirror of
https://github.com/DavidGailleton/42-Push_Swap.git
synced 2026-01-27 00:41:57 +00:00
finish to switch
This commit is contained in:
@@ -20,8 +20,8 @@ static int is_border_a(int value, t_stacks *stacks)
|
|||||||
if (!stacks->a)
|
if (!stacks->a)
|
||||||
return (1);
|
return (1);
|
||||||
tmp = assign_stack(stacks, 'a');
|
tmp = assign_stack(stacks, 'a');
|
||||||
if ((value < tmp->value && check_order(tmp))
|
if ((value < tmp->index && check_order(tmp))
|
||||||
|| (value > tmp->value && value > tmp->previous->value
|
|| (value > tmp->index && value > tmp->previous->index
|
||||||
&& check_order(stacks->a)))
|
&& check_order(stacks->a)))
|
||||||
return (1);
|
return (1);
|
||||||
return (0);
|
return (0);
|
||||||
@@ -34,12 +34,12 @@ int move_left_to_right(int value, t_stacks *stacks, int is_move)
|
|||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
tmp = assign_stack(stacks, 'a');
|
tmp = assign_stack(stacks, 'a');
|
||||||
while (value > tmp->value && !is_move)
|
while (value > tmp->index && !is_move)
|
||||||
{
|
{
|
||||||
tmp = tmp->next;
|
tmp = tmp->next;
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
while (value > stacks->a->value && is_move)
|
while (value > stacks->a->index && is_move)
|
||||||
ra(stacks);
|
ra(stacks);
|
||||||
return (i);
|
return (i);
|
||||||
}
|
}
|
||||||
@@ -51,12 +51,12 @@ int move_right_to_left(int value, t_stacks *stacks, int is_move)
|
|||||||
|
|
||||||
tmp = assign_stack(stacks, 'a');
|
tmp = assign_stack(stacks, 'a');
|
||||||
i = 0;
|
i = 0;
|
||||||
while (value < tmp->previous->value && !is_move)
|
while (value < tmp->previous->index && !is_move)
|
||||||
{
|
{
|
||||||
tmp = tmp->previous;
|
tmp = tmp->previous;
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
while (value < stacks->a->previous->value && is_move)
|
while (value < stacks->a->previous->index && is_move)
|
||||||
rra(stacks);
|
rra(stacks);
|
||||||
return (i);
|
return (i);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ static int path_to_end(t_stacks *stacks, int max_range, int range, char c)
|
|||||||
while (first_pass || tmp != start->previous)
|
while (first_pass || tmp != start->previous)
|
||||||
{
|
{
|
||||||
first_pass = 0;
|
first_pass = 0;
|
||||||
if (in_range(tmp->value, max_range, range))
|
if (in_range(tmp->index, max_range, range))
|
||||||
tmp = start;
|
tmp = start;
|
||||||
tmp = tmp->previous;
|
tmp = tmp->previous;
|
||||||
i++;
|
i++;
|
||||||
@@ -50,7 +50,7 @@ static int path_to_start(t_stacks *stacks, int max_range, int range, char c)
|
|||||||
while (first_pass || tmp != start)
|
while (first_pass || tmp != start)
|
||||||
{
|
{
|
||||||
first_pass = 0;
|
first_pass = 0;
|
||||||
if (in_range(tmp->value, max_range, range))
|
if (in_range(tmp->index, max_range, range))
|
||||||
{
|
{
|
||||||
tmp = start->previous;
|
tmp = start->previous;
|
||||||
}
|
}
|
||||||
@@ -76,12 +76,12 @@ void normal_move_path(t_stacks *stacks, t_tab *one_preset, int range)
|
|||||||
{
|
{
|
||||||
if (wich_path(stacks, one_preset->max_range, range, 'b'))
|
if (wich_path(stacks, one_preset->max_range, range, 'b'))
|
||||||
{
|
{
|
||||||
while (!in_range(stacks->b->value, one_preset->max_range, range))
|
while (!in_range(stacks->b->index, one_preset->max_range, range))
|
||||||
rb(stacks);
|
rb(stacks);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
while (!in_range(stacks->b->value, one_preset->max_range, range))
|
while (!in_range(stacks->b->index, one_preset->max_range, range))
|
||||||
{
|
{
|
||||||
rrb(stacks);
|
rrb(stacks);
|
||||||
}
|
}
|
||||||
@@ -97,14 +97,14 @@ int get_pre_move_b(t_stacks *stacks, t_tab *one_preset, int range)
|
|||||||
tmp = assign_stack(stacks, 'b');
|
tmp = assign_stack(stacks, 'b');
|
||||||
if (wich_path(stacks, one_preset->max_range, range, 'b'))
|
if (wich_path(stacks, one_preset->max_range, range, 'b'))
|
||||||
{
|
{
|
||||||
while (!in_range(tmp->value, one_preset->max_range, range))
|
while (!in_range(tmp->index, one_preset->max_range, range))
|
||||||
{
|
{
|
||||||
i++;
|
i++;
|
||||||
tmp = tmp->next;
|
tmp = tmp->next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
while (!in_range(tmp->value, one_preset->max_range, range))
|
while (!in_range(tmp->index, one_preset->max_range, range))
|
||||||
{
|
{
|
||||||
i++;
|
i++;
|
||||||
tmp = tmp->previous;
|
tmp = tmp->previous;
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ void push_range_to_b(t_stacks *stacks, t_tab *one_preset, int range)
|
|||||||
path_rr_rrr(value, stacks, one_preset, range);
|
path_rr_rrr(value, stacks, one_preset, range);
|
||||||
}
|
}
|
||||||
normal_move_path(stacks, one_preset, range);
|
normal_move_path(stacks, one_preset, range);
|
||||||
move_ra_rra(stacks->b->value, stacks);
|
move_ra_rra(stacks->b->index, stacks);
|
||||||
pa(stacks);
|
pa(stacks);
|
||||||
put_in_order_ra_rra(stacks);
|
put_in_order_ra_rra(stacks);
|
||||||
one_preset->nb_in--;
|
one_preset->nb_in--;
|
||||||
|
|||||||
@@ -21,13 +21,13 @@ int get_value_finded(t_stacks *stacks, t_tab *one_preset, int range)
|
|||||||
tmp = assign_stack(stacks, 'b');
|
tmp = assign_stack(stacks, 'b');
|
||||||
if (wich_path(stacks, one_preset->max_range, range, 'b'))
|
if (wich_path(stacks, one_preset->max_range, range, 'b'))
|
||||||
{
|
{
|
||||||
while (!in_range(tmp->value, one_preset->max_range, range))
|
while (!in_range(tmp->index, one_preset->max_range, range))
|
||||||
tmp = tmp->next;
|
tmp = tmp->next;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
while (!in_range(tmp->value, one_preset->max_range, range))
|
while (!in_range(tmp->index, one_preset->max_range, range))
|
||||||
tmp = tmp->previous;
|
tmp = tmp->previous;
|
||||||
value = tmp->value;
|
value = tmp->index;
|
||||||
return (value);
|
return (value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,13 +19,13 @@ int get_first_lower(t_stack *first)
|
|||||||
int pass;
|
int pass;
|
||||||
|
|
||||||
tmp = first;
|
tmp = first;
|
||||||
lower = tmp->value;
|
lower = tmp->index;
|
||||||
pass = 1;
|
pass = 1;
|
||||||
while (tmp != first || pass == 1)
|
while (tmp != first || pass == 1)
|
||||||
{
|
{
|
||||||
pass = 0;
|
pass = 0;
|
||||||
if (lower > tmp->value)
|
if (lower > tmp->index)
|
||||||
lower = tmp->value;
|
lower = tmp->index;
|
||||||
tmp = tmp->next;
|
tmp = tmp->next;
|
||||||
}
|
}
|
||||||
return (lower);
|
return (lower);
|
||||||
@@ -43,9 +43,9 @@ int get_next_lower(t_stack *first, int old_lower)
|
|||||||
while (tmp != first || skip_first)
|
while (tmp != first || skip_first)
|
||||||
{
|
{
|
||||||
skip_first = 0;
|
skip_first = 0;
|
||||||
if (old_lower < tmp->value && tmp->value <= next_lower)
|
if (old_lower < tmp->index && tmp->index <= next_lower)
|
||||||
{
|
{
|
||||||
next_lower = tmp->value;
|
next_lower = tmp->index;
|
||||||
if (next_lower == -2147483648)
|
if (next_lower == -2147483648)
|
||||||
return (next_lower);
|
return (next_lower);
|
||||||
}
|
}
|
||||||
@@ -96,7 +96,7 @@ int get_number_in_range(int max_range, t_stack *a, int range)
|
|||||||
while (tmp != first || pass == 1)
|
while (tmp != first || pass == 1)
|
||||||
{
|
{
|
||||||
pass = 0;
|
pass = 0;
|
||||||
if (in_range(tmp->value, max_range, range))
|
if (in_range(tmp->index, max_range, range))
|
||||||
nb_in++;
|
nb_in++;
|
||||||
tmp = tmp->next;
|
tmp = tmp->next;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,13 +20,13 @@ static int get_max_number(t_stack *first)
|
|||||||
t_stack *a;
|
t_stack *a;
|
||||||
|
|
||||||
a = first;
|
a = first;
|
||||||
max = a->value;
|
max = a->index;
|
||||||
pass = 1;
|
pass = 1;
|
||||||
while (a != first || pass == 1)
|
while (a != first || pass == 1)
|
||||||
{
|
{
|
||||||
pass = 0;
|
pass = 0;
|
||||||
if (max < a->value)
|
if (max < a->index)
|
||||||
max = a->value;
|
max = a->index;
|
||||||
a = a->next;
|
a = a->next;
|
||||||
}
|
}
|
||||||
return (max);
|
return (max);
|
||||||
@@ -39,13 +39,13 @@ static int get_min_number(t_stack *first)
|
|||||||
int pass;
|
int pass;
|
||||||
|
|
||||||
a = first;
|
a = first;
|
||||||
min = a->value;
|
min = a->index;
|
||||||
pass = 1;
|
pass = 1;
|
||||||
while (a != first || pass == 1)
|
while (a != first || pass == 1)
|
||||||
{
|
{
|
||||||
pass = 0;
|
pass = 0;
|
||||||
if (min > a->value)
|
if (min > a->index)
|
||||||
min = a->value;
|
min = a->index;
|
||||||
a = a->next;
|
a = a->next;
|
||||||
}
|
}
|
||||||
return (min);
|
return (min);
|
||||||
|
|||||||
500
arggs.txt
500
arggs.txt
@@ -1,500 +0,0 @@
|
|||||||
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
|
|
||||||
Reference in New Issue
Block a user