Вступ до функцій масиву на C

Функції масиву на C - це структура структури даних, яка містить декілька елементів одного типу даних. Розмір масиву фіксується, а елементи збираються послідовно. У масиві можуть бути різні розміри, а програмування на C не обмежує кількість вимірів у масиві.

Різні функції масиву в C

Існують різні функції, які можна виконувати на масивах.

1) Проїзд

Пройти масив означає пройти кожен елемент масиву рівно один раз. Починаємо з першого елемента і переходимо до останнього елемента. Приклад такої програми, яка виконує операцію переходу на лінійному масиві, наведена нижче мовою C.

Код

#include
void main()
(
int array() = (1, 2, 3, 4, 5);
int i, n = 5;
printf(" The array elements are: \n " );
for( i=0;i < n; i++)
(
printf(" array(%d) = %d \n ", i, array(i) );
)
)

Вихід:

2) Пошук

Операція пошуку використовується для пошуку певного елемента даних або елемента в масиві. Ми можемо здійснити пошук у несортованому масиві за допомогою обходу масиву. Лінійний обхід від першого елемента до останнього елемента може використовуватися для пошуку, якщо задане число присутнє в масиві, а також може бути використане для пошуку його положення, якщо воно присутнє.

Це робиться шляхом порівняння кожного елемента з даним елементом (який потрібно шукати). Після виявлення елемента операція пошуку припиняється. Ось приклад показу операцій пошуку, виконаних на масиві в C

Код

#include
int findElement(int arr(), int n, int key)
(
int i;
for (i = 0; i < n; i++)
if (arr(i) == key
return i;
return -1;
)
int main()
(
int arr() = (1, 4, 0, 6, 3);
int n = sizeof(arr) / sizeof(arr(0));
int key = 4;
int position = findElement(arr, n, key);
if (position == - 1)
printf("Element not found");
else
printf("Element Found at Position: %d", position + 1 );
return 0;
)

Вихід:

3) Вставка

Операція вставки використовується для додавання нового елемента в масив. Коли ми вказуємо конкретний елемент та позицію, де його потрібно додати в масив, ми виконуємо операцію вставки. Однак розмір масиву не порушується під час виконання цієї операції. Елемент буде вставлений у масив, лише якщо у нього є достатньо місця для його додавання. Якщо розмір масиву вже заповнений, новий елемент не можна додати. Приклад показу операції вставки в несортований масив у C.

Код

#include
int insertSorted(int arr(), int n, int key, int capacity)
(
if (n >= capacity)
return n;
arr(n) = key;
return (n + 1);
)
int main()
(
int arr(20) = (8, 5, 6, 9, 0, 7) ;
int capacity = sizeof(arr) / sizeof(arr(0));
int n = 6;
int i, key = 2;
printf("\n Before Insertion: ");
for (i = 0; i < n; i++)
printf("%d ", arr(i));
n = insertSorted(arr, n, key, capacity);
printf("\n After Insertion: ");
for (i = 0; i < n; i++)
printf("%d ", arr(i));
return 0;
)

Вихід:

4) Видалення

При операції видалення елемент, який вже існує в масиві, шукається (використовуючи лінійний пошук) і видаляється з подальшим переміщенням елементів. Користувач вводить позицію елемента, який потрібно видалити з масиву. Операція видалення, як і операція вставки, не впливає на розмір масиву. Крім того, позиція елементу, який потрібно видалити, має бути в межах розміру масиву, оскільки видалення елемента, що перевищує розмір масиву, неможливе. Програма C для показу операції видалення в несортованому масиві.

Код

#include
int findElement(int arr(), int n, int key);
int deleteElement(int arr(), int n, int key)
(
int pos = findElement(arr, n, key);
if (pos == - 1)
(
printf("Element not found");
return n;)
int i;
for (i = pos; i < n - 1; i++)
arr(i) = arr(i + 1);
return n - 1;
)
int findElement(int arr(), int n, int key)
(
int i;
for (i = 0; i < n; i++)
if (arr(i) == key)
return i;return - 1;
)
int main()
(
int i;
int arr() = (1, 5, 3, 4, 2);
int n = sizeof(arr) / sizeof(arr(0));
int key = 3;
printf("Array before deletion\n");
for (i = 0; i < n; i++)
printf("%d ", arr(i));
n = deleteElement(arr, n, key);
printf("\nArray after deletion\n");
for (i = 0; i < n; i++)
printf("%d ", arr(i));
return 0;
)

Вихід:

5) Сортування

Ця операція виконується для сортування масиву у фіксованому порядку, тобто або за зростанням чи за спаданням. Ось приклад операції сортування на масиві в C

Код

#include
void main()
(
int i, j, a, n, number(30);
printf("Enter the value of N \n");
scanf("%d", &n);
printf("Enter the numbers \n");
for (i = 0; i < n; ++i)
scanf("%d", &number(i));
for (i = 0; i < n; ++i)
(
for (j = i + 1; j < n; ++j)
(
if (number(i) > number(j))
(
a = number(i);
number(i) = number(j);
number(j) = a;
)
)
)
printf("The numbers arranged in ascending order are given below \n");
for (i = 0; i < n; ++i)
printf("%d\n", number(i));
)

Вихід:

Різні способи сортування масиву

Нижче наведено різні методи сортування для масиву:

1) Сортування бульбашок

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

2) Сортування вибору

Основна ідея сортування вибору - це знайти найменший елемент у несортованому масиві, замінивши його першим елементом. Потім продовжуйте той самий процес з рештою несортованого масиву, тобто з другого положення, потім з третього і так далі.

3) Злиття сортування

Цей спосіб сортування заснований на техніці ділення та підкорення. Він розбиває масив на два рівні підрядні масиви і продовжує, поки кожен підмасив не містить одного елемента, а потім об'єднує їх в упорядкованому порядку, що призводить до відсортованого масиву.

4) Сортування вставки

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

5) Швидкий сортування

Quicksort, як і сортування злиття, також заснований на алгоритмі ділення та підкорення. У цьому методі елемент вибирається як опорний (як правило, перший елемент). Потім розділи масиву складаються навколо вибраного зведення, тобто всі елементи, менші за зведений, формуватимуть один підмасив, а всі елементи, що перевищують зведений, формуватимуть інший. Процедура повторюється і з підмасивами, поки весь масив не буде відсортований.

6) Сорт купи

Алгоритм сортування купи заснований на порівнянні. Максимальний елемент вибирається і розміщується в кінцевому положенні. Потім другий за величиною елемент виявляється і розміщується у другій останній позиції. Цей процес повторюється для всіх елементів.

Рекомендовані статті

Це посібник з функцій масиву в C. Тут ми обговорюємо різні функції та способи сортування масиву. Ви також можете ознайомитись з іншими нашими пов’язаними статтями, щоб дізнатися більше -

  1. Масиви в C ++
  2. Масиви в R
  3. Функції в R
  4. Переваги масиву
  5. Типи функцій масиву в PHP та прикладах