Add Strand Sort (#3205)

This commit is contained in:
Marcus
2022-08-07 04:22:42 +08:00
committed by GitHub
parent 92bd9ba3c9
commit b36f359076
2 changed files with 81 additions and 0 deletions

View File

@ -0,0 +1,39 @@
package com.thealgorithms.sorts;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
import java.util.Arrays;
import java.util.LinkedList;
class StrandSortTest {
@Test
// valid test case
public void StrandSortNonDuplicateTest() {
int[] expectedArray = { 1, 2, 3, 4, 5 };
LinkedList<Integer> actualList = StrandSort.strandSort(new LinkedList<Integer>(Arrays.asList(3, 1, 2, 4, 5)));
int[] actualArray = new int[actualList.size()];
for (int i = 0; i < actualList.size(); i++) {
actualArray[i] = actualList.get(i);
}
assertArrayEquals(expectedArray, actualArray);
}
@Test
// valid test case
public void StrandSortDuplicateTest() {
int[] expectedArray = { 2, 2, 2, 5, 7 };
LinkedList<Integer> actualList = StrandSort.strandSort(new LinkedList<Integer>(Arrays.asList(7, 2, 2, 2, 5)));
int[] actualArray = new int[actualList.size()];
for (int i = 0; i < actualList.size(); i++) {
actualArray[i] = actualList.get(i);
}
assertArrayEquals(expectedArray, actualArray);
}
}