5
5
cocktail_shaker_sort , quick_sort , longest_common_subsequence , is_ordered ,
6
6
upper_bound , lower_bound , longest_increasing_subsequence , next_permutation ,
7
7
prev_permutation , bubble_sort , linear_search , binary_search , jump_search ,
8
- selection_sort , insertion_sort , intro_sort , shell_sort , radix_sort , Backend )
8
+ selection_sort , insertion_sort , intro_sort , shell_sort , radix_sort , reverse_array , Backend )
9
9
10
10
from pydatastructs .utils .raises_util import raises
11
11
import random
@@ -200,15 +200,15 @@ def _test_inner_ordered(*args, **kwargs):
200
200
assert output == expected_result
201
201
202
202
expected_result = True
203
- arr3 = ODA (int , [0 , - 1 , - 2 , - 3 , - 4 , 4 ])
204
- output = is_ordered (arr3 , start = 1 , end = 4 ,
203
+ arr2 = ODA (int , [0 , - 1 , - 2 , - 3 , - 4 , 4 ])
204
+ output = is_ordered (arr2 , start = 1 , end = 4 ,
205
205
comp = lambda u , v : u > v , ** kwargs )
206
206
assert output == expected_result
207
207
208
208
expected_result = True
209
- arr4 = DODA (int , [1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ])
210
- arr4 .delete (0 )
211
- output = is_ordered (arr4 , ** kwargs )
209
+ arr3 = DODA (int , [1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ])
210
+ arr3 .delete (0 )
211
+ output = is_ordered (arr3 , ** kwargs )
212
212
assert output == expected_result
213
213
214
214
_test_inner_ordered ()
@@ -227,13 +227,13 @@ def test_upper_bound():
227
227
expected_result = 2
228
228
assert expected_result == output
229
229
230
- arr3 = ODA (int , [6 , 6 , 7 , 8 , 9 ])
231
- output = upper_bound (arr3 , 5 , start = 2 , end = 4 )
230
+ arr2 = ODA (int , [6 , 6 , 7 , 8 , 9 ])
231
+ output = upper_bound (arr2 , 5 , start = 2 , end = 4 )
232
232
expected_result = 2
233
233
assert expected_result == output
234
234
235
- arr4 = ODA (int , [3 , 4 , 4 , 6 ])
236
- output = upper_bound (arr4 , 5 , start = 1 , end = 3 )
235
+ arr3 = ODA (int , [3 , 4 , 4 , 6 ])
236
+ output = upper_bound (arr3 , 5 , start = 1 , end = 3 )
237
237
expected_result = 3
238
238
assert expected_result == output
239
239
@@ -242,13 +242,13 @@ def test_upper_bound():
242
242
expected_result = 5
243
243
assert expected_result == output
244
244
245
- arr6 = ODA (int , [7 , 6 , 6 , 6 , 6 , 5 , 4 , 3 ])
246
- output = upper_bound (arr6 , 2 , start = 2 , comp = lambda x , y : x > y )
245
+ arr4 = ODA (int , [7 , 6 , 6 , 6 , 6 , 5 , 4 , 3 ])
246
+ output = upper_bound (arr4 , 2 , start = 2 , comp = lambda x , y : x > y )
247
247
expected_result = 8
248
248
assert expected_result == output
249
249
250
- arr7 = ODA (int , [7 , 6 , 6 , 6 , 6 , 5 , 4 , 3 ])
251
- output = upper_bound (arr7 , 9 , start = 3 , end = 7 , comp = lambda x , y : x > y )
250
+ arr5 = ODA (int , [7 , 6 , 6 , 6 , 6 , 5 , 4 , 3 ])
251
+ output = upper_bound (arr5 , 9 , start = 3 , end = 7 , comp = lambda x , y : x > y )
252
252
expected_result = 3
253
253
assert expected_result == output
254
254
@@ -270,13 +270,13 @@ def test_lower_bound():
270
270
expected_result = 3
271
271
assert expected_result == output
272
272
273
- arr3 = ODA (int , [6 , 6 , 7 , 8 , 9 ])
274
- output = lower_bound (arr3 , 5 , end = 3 )
273
+ arr2 = ODA (int , [6 , 6 , 7 , 8 , 9 ])
274
+ output = lower_bound (arr2 , 5 , end = 3 )
275
275
expected_result = 0
276
276
assert expected_result == output
277
277
278
- arr4 = ODA (int , [3 , 4 , 4 , 4 ])
279
- output = lower_bound (arr4 , 5 )
278
+ arr3 = ODA (int , [3 , 4 , 4 , 4 ])
279
+ output = lower_bound (arr3 , 5 )
280
280
expected_result = 4
281
281
assert expected_result == output
282
282
@@ -285,13 +285,13 @@ def test_lower_bound():
285
285
expected_result = 5
286
286
assert expected_result == output
287
287
288
- arr6 = ODA (int , [7 , 6 , 6 , 6 , 6 , 5 , 4 , 3 ])
289
- output = lower_bound (arr6 , 2 , start = 4 , comp = lambda x , y : x > y )
288
+ arr4 = ODA (int , [7 , 6 , 6 , 6 , 6 , 5 , 4 , 3 ])
289
+ output = lower_bound (arr4 , 2 , start = 4 , comp = lambda x , y : x > y )
290
290
expected_result = 8
291
291
assert expected_result == output
292
292
293
- arr7 = ODA (int , [7 , 6 , 6 , 6 , 6 , 5 , 4 , 3 ])
294
- output = lower_bound (arr7 , 9 , end = 5 , comp = lambda x , y : x > y )
293
+ arr5 = ODA (int , [7 , 6 , 6 , 6 , 6 , 5 , 4 , 3 ])
294
+ output = lower_bound (arr5 , 9 , end = 5 , comp = lambda x , y : x > y )
295
295
expected_result = 0
296
296
assert expected_result == output
297
297
@@ -313,13 +313,13 @@ def test_longest_increasing_subsequence():
313
313
expected_result = [- 1 , 2 , 3 , 7 , 9 , 10 ]
314
314
assert str (expected_result ) == str (output )
315
315
316
- arr3 = ODA (int , [6 , 6 , 6 , 19 , 9 ])
317
- output = longest_increasing_subsequence (arr3 )
316
+ arr2 = ODA (int , [6 , 6 , 6 , 19 , 9 ])
317
+ output = longest_increasing_subsequence (arr2 )
318
318
expected_result = [6 , 9 ]
319
319
assert str (expected_result ) == str (output )
320
320
321
- arr4 = ODA (int , [5 , 4 , 4 , 3 , 3 , 6 , 6 , 8 ])
322
- output = longest_increasing_subsequence (arr4 )
321
+ arr3 = ODA (int , [5 , 4 , 4 , 3 , 3 , 6 , 6 , 8 ])
322
+ output = longest_increasing_subsequence (arr3 )
323
323
expected_result = [3 , 6 , 8 ]
324
324
assert str (expected_result ) == str (output )
325
325
@@ -420,3 +420,26 @@ def test_shell_sort():
420
420
421
421
def test_radix_sort ():
422
422
_test_common_sort (radix_sort )
423
+
424
+ def test_reverse_array ():
425
+ arr1 = DynamicOneDimensionalArray (int , [1 , 2 , 3 , 4 , 5 ])
426
+ reverse_array (arr1 )
427
+ assert arr1 ._data == [5 , 4 , 3 , 2 , 1 ]
428
+
429
+ arr2 = DynamicOneDimensionalArray (int , [1 , 2 , 3 ])
430
+ original_data = arr2 ._data .copy ()
431
+ reverse_array (arr2 , start = 2 , end = 1 )
432
+ assert arr2 ._data == original_data
433
+
434
+ arr3 = DynamicOneDimensionalArray (int , [42 ])
435
+ reverse_array (arr3 , start = 0 , end = 0 )
436
+ assert arr3 ._data == [42 ]
437
+
438
+ arr4 = DynamicOneDimensionalArray (int , [5 , - 3 , 1 , - 10 , 7 ])
439
+ reverse_array (arr4 , start = 1 , end = 3 )
440
+ assert arr4 ._data == [5 , - 10 , 1 , - 3 , 7 ]
441
+
442
+ arr5 = OneDimensionalArray (int , 5 )
443
+ arr5 ._data = [1 , 2 , 3 , 4 , 5 ]
444
+ reverse_array (arr5 , start = 1 , end = 3 )
445
+ assert arr5 ._data == [1 , 4 , 3 , 2 , 5 ]
0 commit comments