Як робиться сортування масивів?

Відео: Паскаль з нуля [Ч12]. Сортування масиву методом бульбашки

Часто при вирішенні певних завдань потрібно зробити сортування даних, які зберігаються в масиві. Що таке сортування масивів? Ось, наприклад, граючи в преферанс, люди розкладають свої карти за значенням і масті. Це дає можливість визначити, яких ще карт їм не вистачає. А в словниках все впорядковується за алфавітом. Прикладів можна навести багато. Сортування - перегрупування певної множини об`єктів в будь-якому порядку по заданому ознакою. Сортування масивів потрібно досить часто. Для цього застосовуються різні методи. Щоб зрозуміти їх суть, досить розглянути детально кілька способів.

Сортування масивівНа основі чого роблять

Важливо розуміти, що масив складається з численних пар ключів і певних значень. Сортування масивів на мові Сі робиться за допомогою десятків рядків коду, а на мові PHP це досягається лише однієї нескладної командою. Сортування масивів можлива на основі ключів або значень. Ще можна розподіляти значення, залишивши їм існуючі ключі або привласнивши нові.

Головні відмінності функцій

Сортування масиву PHP можлива за допомогою різних функцій. Давайте розглянемо, чим вони відрізняються:

- Одні функції сортують масиви по ключам їх елементів, а інші - за значеннями.



- Буває різний порядок сортування: регресний, зростаючий, натуральний, числовий, алфавітний, певний користувачами або випадковий.

- Деякі функції здатні зберігати після сортування зв`язок, який існує між ключем і значенням. Але є функції, в яких ключі скинуться в нові значення.

- Кожна функція здійснює модифікацію переданого масиву. Відсортовану копію вони не повертають.

Відео: Як робити пірамідальну сортування масиву? - алгоритм "купи" (Heap sort algorithm)

- Порядок сортування вважається невизначеним, коли функція визначає два елементи, як рівні. Це нестабільна сортування.

Деякі функції сортування масивів в PHP

Відео: Bubble-sort with Hungarian ("Cs ng ") Folk dance

Функції sort () і rsort (). Sort () впорядковує в алфавітному порядку масив. Звернемо увагу: ця функція чутлива до регістру. Відбувається сортування за значеннями без урахування ключів. Rsort () сортує в зворотному порядку теж за значеннями і не враховує ключі.



Asort () - це одна з функцій, яка зберігає відносини ключів і значень. Її корисно застосовувати для асоціативних масивів, коли це важливо.

Сортування масиву PHPУ прикладі ключами обрані найменування фруктів, а значення - це ціни. Сортування відбувається по зростанню ціни. Якщо необхідне сортування по назв фруктів, то потрібна функція ksort (), яка робить сортування по ключам. Arsort () здійснює сортування одновимірних масивів з індексами (описовими) по спадаючій значень. Krsort () сортує по спадаючій ключів елементів.

Двовимірний масив

Відео: Алгоритм сортування масиву php алгоритми сортування за вагою сортування масиву

Цікава сортування двовимірного масиву. Це можна робити по-різному. У PHP є можливість порівнювати два числа або два рядки. Але в будь-якому багатовимірному масиві кожен з елементів являє собою масив. У PHP, щоб порівняти кілька масивів, треба створити певний метод. Розглянемо двовимірний масив, в якому зберігається скорочена назва фруктів, повна назва і ціна. Елементи масиву можна відсортувати в алфавітному порядку за скороченими назвами.

Сортування двовимірного масивуУ прикладі у нашій функції ім`я compare (порівняння). У неї 2 аргументу - x, y. Функція повинна прийняти 2 значення, після чого визначити порядок. Параметри x, y - 2 масиву, які знаходяться всередині y основного масиву. Щоб порівнювати description-елементи з масивів, що передані в функцію, потрібні змінні $ x [1], $ y [1]. У рядку return1 відбувається повернення значення коду, який викликав функцію. В основі сортування нашого масиву функція usort (). Сортування йде за правилами, які описує функція compare ().

Тепер сортування масивів в PHP стане для вас зрозумілою.




Увага, тільки СЬОГОДНІ!
Оцініть, будь ласка статтю
Всього голосів: 161