tester de base et correction sur la ligne 3124

This commit is contained in:
hugogogo
2021-09-26 18:35:55 +02:00
parent e346fb3824
commit f07533d101
5 changed files with 124 additions and 2 deletions

View File

@@ -523,6 +523,68 @@ void sort_5(t_stack **a, t_list *solution)
*/
}
// suite de nombre qui rate le test :
// 4 49 63 8 28 193 103 120 197 188 185 36 133 62 86 126 80 112 131 102 118 145 136 24 5 149 13 7 151 55 61 21 174 116 77 10 33 154 16 47 53 177 165 15 172 12 81 190 186 194 196 50 141 1 67 42 79 170 74 9 117 91 45 158 162 169 83 191 106 180 37 66 110 134 122 30 82 200 89 127 182 71 132 32 35 48 160 69 137 95 38 113 135 173 51 84 199 166 129 150
// 95 89 91 102
// 3 1 2 4
// version complete :
// sa
// a: 200 199 197 196] 194 193 191] 190 188 186] 185 182 180] 177 174 173] 172 170 169] 166 165 162] 160 158 154] 151 150 149 145] 141 137 136] 135 134 133] 132 131 129] 127 126 122] 120 118 117] 116 113 112] 110 106 103] 95 89 102 91
// b: 4 8 28 36 24 5 13 7 21 10 33 16 47 15 12 1 42 9 45 37 30 32 35 48 38] 49 63 62 55 61 53 50 67 66 71 69 51] 80 77 81 79 74 82] 86 83 84]
// ra
// a: 91 200 199 197 196] 194 193 191] 190 188 186] 185 182 180] 177 174 173] 172 170 169] 166 165 162] 160 158 154] 151 150 149 145] 141 137 136] 135 134 133] 132 131 129] 127 126 122] 120 118 117] 116 113 112] 110 106 103] 95 89 102
// b: 4 8 28 36 24 5 13 7 21 10 33 16 47 15 12 1 42 9 45 37 30 32 35 48 38] 49 63 62 55 61 53 50 67 66 71 69 51] 80 77 81 79 74 82] 86 83 84]
// sa
// a: 91 200 199 197 196] 194 193 191] 190 188 186] 185 182 180] 177 174 173] 172 170 169] 166 165 162] 160 158 154] 151 150 149 145] 141 137 136] 135 134 133] 132 131 129] 127 126 122] 120 118 117] 116 113 112] 110 106 103] 95 102 89
// b: 4 8 28 36 24 5 13 7 21 10 33 16 47 15 12 1 42 9 45 37 30 32 35 48 38] 49 63 62 55 61 53 50 67 66 71 69 51] 80 77 81 79 74 82] 86 83 84]
// rra
// a: 200 199 197 196] 194 193 191] 190 188 186] 185 182 180] 177 174 173] 172 170 169] 166 165 162] 160 158 154] 151 150 149 145] 141 137 136] 135 134 133] 132 131 129] 127 126 122] 120 118 117] 116 113 112] 110 106 103] 95 102 89 91
// b: 4 8 28 36 24 5 13 7 21 10 33 16 47 15 12 1 42 9 45 37 30 32 35 48 38] 49 63 62 55 61 53 50 67 66 71 69 51] 80 77 81 79 74 82] 86 83 84]
// rra
// a: 199 197 196] 194 193 191] 190 188 186] 185 182 180] 177 174 173] 172 170 169] 166 165 162] 160 158 154] 151 150 149 145] 141 137 136] 135 134 133] 132 131 129] 127 126 122] 120 118 117] 116 113 112] 110 106 103] 95 102 89 91 200
// b: 4 8 28 36 24 5 13 7 21 10 33 16 47 15 12 1 42 9 45 37 30 32 35 48 38] 49 63 62 55 61 53 50 67 66 71 69 51] 80 77 81 79 74 82] 86 83 84]
// sa ( mini_sort )
// a: 199 197 196] 194 193 191] 190 188 186] 185 182 180] 177 174 173] 172 170 169] 166 165 162] 160 158 154] 151 150 149 145] 141 137 136] 135 134 133] 132 131 129] 127 126 122] 120 118 117] 116 113 112] 110 106 103] 95 102 89 200 91]
// b: 4 8 28 36 24 5 13 7 21 10 33 16 47 15 12 1 42 9 45 37 30 32 35 48 38] 49 63 62 55 61 53 50 67 66 71 69 51] 80 77 81 79 74 82] 86 83 84]
// version raccourcie :
// sa
// a: 200 199 197 196] ...] 95 89 102 91
// b: ...]
// ra
// a: 91 200 199 197 196] ...] 95 89 102
// b: ...]
// sa
// a: 91 200 199 197 196] ...] 95 102 89
// b: ...]
// rra
// a: 200 199 197 196] ...] 95 102 89 91
// b: ...]
// rra
// a: 199 197 196] ...] 95 102 89 91 200
// b: ...]
// sa ( mini_sort )
// a: 199 197 196] ...] 95 102 89 200 91]
// b: ...]
//
// |3124
// s |3142
// r 2|314
// s 2|341
// rr |3412
// rr |3412#
// s |341#2
//
// |3124
// s |3142
// r 2|314
// s 2|341
// r 12|34
// s 12|43
// rr 2|431
// rr |4312
// s |4312
//
void sort_4(t_stack **a, t_list *solution)
{
int order;
@@ -670,6 +732,8 @@ void sort_4(t_stack **a, t_list *solution)
}
else if (order == 3124)
{
sa(a, &solution);
ra(a, &solution);
sa(a, &solution);
ra(a, &solution);
sa(a, &solution);
@@ -828,12 +892,12 @@ void mini_sort(t_stack **a, t_list *solution)
void hugo_sort(t_stack **a, t_stack **b, t_list *solution)
{
if (sublist_size(*a) > 5)
if (sublist_size(*a) > 4)
divide_a(a, b, solution);
else
{
mini_sort(a, solution);
if (sublist_size(*b) > 5)
if (sublist_size(*b) > 3)
divide_b(a, b, solution);
else if (sublist_size(*b) > 0)
send_sublist_to_a(a, b, solution);