Введение в функции массива в C

Функции массива в C - это тип структуры данных, который содержит несколько элементов одного типа данных. Размер массива фиксирован, а элементы собираются последовательно. Могут быть разные измерения массивов, и программирование на С не ограничивает число измерений в массиве.

Различные функции массива в C

Существуют разные функции, которые можно выполнять с массивами.

1) обход

Обход массива означает прохождение каждого элемента массива ровно один раз. Мы начинаем с первого элемента и переходим к последнему элементу. Пример такой программы, которая выполняет операцию перемещения на линейном массиве, приведен ниже на языке Си.

Код

#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) пузырьковая сортировка

Bubble sort сравнивает все элементы один за другим и сортирует их по их значениям. Он начинается со сравнения первого элемента со вторым, если первый элемент больше, чем второй элемент, он поменяет местами оба элемента и продолжит сравнение второго и третьего элементов и так далее.

2) Выбор сортировки

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

3) сортировка слиянием

Этот метод сортировки основан на технике «разделяй и властвуй». Он разбивает массив на два равных подмассива и продолжается до тех пор, пока каждый подмассив не содержит один элемент, а затем объединяет их отсортированным образом, что приводит к сортировке массива.

4) Сортировка вставки

В сортировке вставки мы начинаем со второго элемента. Элементы массива сравниваются друг с другом последовательно. Текущий элемент (значение для сортировки) сравнивается со всеми элементами в отсортированном подмассиве. Все элементы в отсортированном подмассиве, которые больше текущего элемента, сдвигаются, и текущее значение вставляется. Этот процесс повторяется до тех пор, пока весь массив не будет отсортирован.

5) Быстрая сортировка

Быстрая сортировка, как и сортировка слиянием, также основана на алгоритме «разделяй и властвуй». В этом методе элемент выбирается как стержень (обычно первый элемент). Затем разделы массива создаются вокруг выбранной оси, т. Е. Все элементы, меньшие, чем точка, будут образовывать один подмассив, а все элементы, большие, чем точка, будут формировать другую. Процедура повторяется также с подмассивами, пока весь массив не будет отсортирован.

6) Сортировка кучи

Алгоритм сортировки кучи основан на сравнении. Максимальный элемент выбран и помещен в конечную позицию. Затем второй по величине элемент найден и помещен во вторую последнюю позицию. Этот процесс повторяется для всех элементов.

Рекомендуемые статьи

Это руководство по функциям массива в C. Здесь мы обсудим различные функции и способы сортировки массива. Вы также можете просмотреть другие наши статьи, чтобы узнать больше -

  1. Массивы в C ++
  2. Массивы в R
  3. Функции в R
  4. Преимущества массива
  5. Типы функций массива в PHP и примеры