0Pricing
Swift Academy · Aula

Ordenação, busca e divisão em fatias

Use sorted(), sort(), firstIndex(of:), prefix, suffix e ArraySlice.

Ordenação, busca e divisão em fatias é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.

Boas-vindas

Os vetores do Swift vêm com um conjunto abrangente de algoritmos para ordenação, busca e divisão. Aprendê-los reduz a necessidade de laços escritos manualmente e produz código mais limpo e rápido.

Ordenação que cria cópia versus ordenação no próprio vetor

```swift let nums = [3,1,4,1,5,9] let sorted = nums.sorted() // new array, nums unchanged var mutable = [3,1,4] mutable.sort() // in-place sort ``` `sorted()` funciona com vetores `let`; `sort()` exige `var`.

Ordem de ordenação personalizada

```swift let words = ["banana","apple","cherry"] let alpha = words.sorted() // ascending let rev = words.sorted(by: >) // descending let byLen = words.sorted { $0.count < $1.count } // by length ```

Primeiro e último elemento que satisfazem uma condição

```swift let nums = [4, 7, 2, 9, 1] let first = nums.first { $0 > 5 } // Optional(7) let last = nums.last { $0 > 5 } // Optional(9) ``` É melhor do que um laço manual — para na primeira correspondência.

Busca binária com particionamento

A biblioteca padrão do Swift usa partition para particionar com eficiência O(n): ```swift var nums = [3, 1, 4, 1, 5, 9, 2] let pivotIdx = nums.partition { $0 >= 5 } // nums is now [...<5 values..., 5,9] and pivotIdx is the split point ```

Partes de vetores: prefixo e sufixo

```swift let arr = [10,20,30,40,50] let first3 = arr.prefix(3) // ArraySlice [10,20,30] let last2 = arr.suffix(2) // ArraySlice [40,50] let mid = arr[1...3] // ArraySlice [20,30,40] ``` As partes são visões — compartilham o armazenamento com o vetor original.

Convertendo uma parte em vetor

```swift let slice = arr.prefix(3) let copy = Array(slice) // independent [Int] copy ``` Sempre converta uma parte em `Array` se precisar armazená-la além do tempo de vida do vetor de origem.

Descartando elementos do início e do fim

```swift let arr = [1,2,3,4,5] let d1 = arr.dropFirst() // [2,3,4,5] let d2 = arr.dropLast(2) // [1,2,3] let d3 = arr.drop { $0 < 3 } // [3,4,5] — drop while condition holds ```

Mínimo e máximo

```swift let scores = [88, 95, 70, 82] print(scores.min()!) // 70 print(scores.max()!) // 95 let minByLen = ["cat","elephant","ox"].min { $0.count < $1.count } // "ox" ```

Verificando presença e allSatisfy

```swift let nums = [2, 4, 6, 8] print(nums.allSatisfy { $0 % 2 == 0 }) // true print(nums.contains { $0 > 10 }) // false ``` `allSatisfy` e `contains(where:)` interrompem a busca assim que possível.

Verificação rápida

Qual método retorna os primeiros N elementos de um vetor como um `ArraySlice`?

Recapitulação

Pontos principais: • `sorted()` → novo vetor; `sort()` → modifica no próprio vetor • `first(where:)` / `last(where:)` — encontram elementos • `prefix`, `suffix`, `[range]` — dividem o vetor sem fazer cópia • `drop(while:)`, `dropFirst`, `dropLast` — removem elementos das extremidades • `min()`, `max()`, `allSatisfy`, `contains(where:)` A seguir: mapear, filtrar e reduzir vetores.

Perguntas Frequentes

A aula “Ordenação, busca e divisão em fatias” é grátis?

Sim — o texto completo de “Ordenação, busca e divisão em fatias” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.

O que vou aprender em “Ordenação, busca e divisão em fatias”?

Use sorted(), sort(), firstIndex(of:), prefix, suffix e ArraySlice. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Swift Academy?

Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Ordenação, busca e divisão em fatias”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Swift Academy?

Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Criação e modificação de arrays
  2. Ordenação, busca e divisão em fatias
  3. Mapeamento, filtragem e redução de arrays
  4. Arrays bidimensionais e coleções aninhadas
← Voltar para Swift Academy