Files

25 lines
641 B
Java

package strategy;
import java.util.Arrays;
/**
* Context — uses a SortStrategy. The strategy can be swapped at runtime.
* Sorter doesn't care which algorithm is used; it just calls sort().
*/
public class Sorter {
private SortStrategy strategy;
public Sorter(SortStrategy strategy) { this.strategy = strategy; }
public void setStrategy(SortStrategy strategy) {
System.out.println(" Switching to: " + strategy.getName());
this.strategy = strategy;
}
public int[] sort(int[] data) {
int[] copy = Arrays.copyOf(data, data.length);
strategy.sort(copy);
return copy;
}
}