mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-15 01:40:49 +08:00
Restructured the repo
This commit is contained in:
31
Sorts/SortAlgorithm.java
Normal file
31
Sorts/SortAlgorithm.java
Normal file
@ -0,0 +1,31 @@
|
||||
package Sorts;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* The common interface of most sorting algorithms
|
||||
*
|
||||
* @author Podshivalov Nikita (https://github.com/nikitap492)
|
||||
*
|
||||
**/
|
||||
public interface SortAlgorithm {
|
||||
|
||||
/**
|
||||
* Main method arrays sorting algorithms
|
||||
* @param unsorted - an array should be sorted
|
||||
* @return a sorted array
|
||||
*/
|
||||
<T extends Comparable<T>> T[] sort(T[] unsorted);
|
||||
|
||||
/**
|
||||
* Auxiliary method for algorithms what wanted to work with lists from JCF
|
||||
* @param unsorted - a list should be sorted
|
||||
* @return a sorted list
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
default <T extends Comparable<T>> List<T> sort(List<T> unsorted){
|
||||
return Arrays.asList(sort(unsorted.toArray((T[]) new Comparable[unsorted.size()])));
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user