TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
𝚂𝚗𝚘𝚠𝙱𝚊𝚕𝚕𝙲𝚘𝚍𝚎

18 Jun, 20:20

Открыть в Telegram Поделиться Пожаловаться

Четыре популярных алгоритма на Swift с объяснением где их обычно применяют:

1. Линейный поиск. Самый простой способ найти элемент в массиве. Используют когда массив маленький и не отсортирован, например для поиска в коротком списке

func linearSearch(_ array: [T], target: T) -> Int? {
for (index, element) in array.enumerated() {
if element == target {
return index
}
}
return nil
}

// Пример
let numbers = [5, 3, 8, 1, 9, 2]
if let index = linearSearch(numbers, target: 8) {
print("Элемент найден на позиции \(index)") // 2
}

2. Бинарный поиск. Гораздо быстрее линейного, но работает только с отсортированными массивами. Используют в больших отсортированных списках, таких как поиск пользователей, товаров, автодополнение и всё такое

func binarySearch(_ array: [T], target: T) -> Int? {
var left = 0
var right = array.count - 1

while left 1 else { return array }

let pivot = array[array.count / 2]
let less = array.filter { $0 < pivot }
let equal = array.filter { $0 == pivot }
let greater = array.filter { $0 > pivot }

return quickSort(less) + equal + quickSort(greater)
}

// Пример
let array = [10, 80, 30, 90, 40, 50, 70]
let sorted = quickSort(array)
print(sorted)

В реальных приложениях чаще используют готовые методы .sorted(), .firstIndex(of:) и структуры данных из стандартной библиотеки (Array, Set, Dictionary). Также в функциях используется и . Это дженерики в Swift где универсальный тип-заполнитель, благодаря которому функция работает с любыми данными: Int, String, вашими моделями. Буква T это стандартное обозначение от слова "Type"

🥰 @SnowBallCode
😍

165 0 3 5
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot