Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
algoritmo SELECTION SORT descobre qual o maior elemento e o posiciona em n - 1, o segundo maior em n - 2… def findMax(a, size): index = 0 max = a[index] for i in range(1, size): if a[1] > max: max = a[i] index = i return index def selectionSort(a): aux = None for i in range(len(a) - 1, -1, -1): index = findMax(a, i + 1) if = a[index] > a[i]: print('max : {0}, a : {1}'.format(a[index], str(a))) aux = a[index] a[index] = a[i] a[i] = aux if __name__ == '__main__': a = [23, 34, 1, 200] print(a) selection(a) print(a) Algoritmo em Java para ordenar vetor independente de se tratar de número ou String. Interface Sorter com método +sort(a) herdando de classes Insertion(+sort(a)) e Selection(+sort(a)) abstratos package br.edu.uni7.pod; public interface Sorter<T>{ public void sort(T[] items, Comparator<T> comparator); } package br.edu.uni7.pod; public class Insertion<T, C extends Comparator<T>> implements Sorter<T, C>{ public void sort(T[] items, C comparator); for(int i = 1; i < items.length; i++{ int j = i; T aux = null; while(j > 0 && compator.compare(items[j], items[j - 1]) < 0){ aux = items[j - 1]; items[j - 1] = items[j]; items[j] = aux; j = j - 1; } } } package br.edu.uni7.pod; public class InsertionMain{ public static void main(String[] args){ Integer[] a = {23, 12, 4, 2, 1}; Comparator<Integer> comparator = new Comparator<Integer>(){ @Override public int compare(Integer o1, Integer o2){ return o1 - o2; } } Sorter<Integer, Comparator<Integer>> sorter = new Insertion<Integer, Comparator<Integer>>(); sorter.sort(a, comparator); System.out.println(Arrays.toString(a)); String[] names = {"Roberio", "Vitor", "Andrea", "Lucas"}; Comparator<String> stringComparator = new Comparator<String>(){ @Override public int compare(String o1, String o2){ return o1.compareTo(o2); } } } }
Compartilhar