Wprowadzenie do funkcji tablic w C

Funkcje tablic w C to rodzaj struktury danych, która zawiera wiele elementów tego samego typu danych. Rozmiar tablicy jest ustalony, a elementy są gromadzone w sposób sekwencyjny. Mogą występować różne wymiary tablic, a programowanie w C nie ogranicza liczby wymiarów w tablicy.

Różne funkcje macierzy w C

Istnieją różne funkcje, które można wykonywać na tablicach.

1) Podróżowanie

Przemierzanie tablicy oznacza przejście przez każdy element tablicy dokładnie raz. Zaczynamy od pierwszego elementu i przechodzimy do ostatniego elementu. Przykład takiego programu, który wykonuje operację ruchu na szyku liniowym, podano poniżej w języku C.

Kod

#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) );
)
)

Wynik:

2) Wyszukiwanie

Operacja wyszukiwania służy do znalezienia określonego elementu danych lub elementu w tablicy. Możemy wykonywać wyszukiwanie w nieposortowanej tablicy za pomocą przemierzania tablicy. Liniowe przechodzenie od pierwszego elementu do ostatniego elementu może być użyte do wyszukiwania, czy dana liczba jest obecna w tablicy, a także może być użyta do znalezienia jej pozycji, jeśli jest obecna.

Odbywa się to poprzez porównanie każdego elementu z danym elementem (który ma zostać przeszukany). Po znalezieniu elementu operacja wyszukiwania zostaje zatrzymana. Oto przykład pokazujący operację wyszukiwania wykonaną na tablicy w C

Kod

#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;
)

Wynik:

3) Wkładanie

Operacja wstawiania służy do dodawania nowego elementu do tablicy. Kiedy określamy konkretny element i pozycję, w której ma on zostać dodany do tablicy, wykonujemy operację wstawiania. Jednak rozmiar tablicy nie jest zakłócany podczas wykonywania tej operacji. Element zostanie wstawiony do tablicy tylko wtedy, gdy będzie miał wystarczająco dużo miejsca, aby go dodać. Jeśli rozmiar tablicy jest już pełny, nie można dodać nowego elementu. Przykład pokazujący operację wstawiania w nieposortowanej tablicy w C.

Kod

#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;
)

Wynik:

4) Usunięcie

W operacji usuwania element, który już istnieje w tablicy, jest przeszukiwany (przy użyciu wyszukiwania liniowego) i usuwany, a następnie przesuwane są elementy. Użytkownik wprowadza pozycję elementu, który ma zostać usunięty z tablicy. Operacja usuwania, podobnie jak operacja wstawiania, nie wpływa na rozmiar tablicy. Również pozycja elementu, który ma zostać usunięty, powinna mieścić się w zakresie tablicy, ponieważ usunięcie elementu przekraczającego rozmiar tablicy nie jest możliwe. Program C pokazujący operację usuwania w nieposortowanej tablicy.

Kod

#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;
)

Wynik:

5) Sortowanie

Ta operacja jest wykonywana w celu sortowania tablicy w ustalonym porządku, tj. Rosnąco lub malejąco. Oto przykład operacji sortowania na tablicy w C

Kod

#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));
)

Wynik:

Różne sposoby sortowania tablicy

Poniżej znajdują się różne metody sortowania dla tablicy:

1) Sortowanie bąbelkowe

Sortowanie bąbelkowe porównuje wszystkie elementy jeden po drugim i sortuje je na podstawie ich wartości. Zaczyna się od porównania pierwszego elementu z drugim, jeśli pierwszy element jest większy niż drugi element, zamieni oba elementy i będzie kontynuować porównywanie drugiego i trzeciego elementu i tak dalej.

2) Sortuj według wyboru

Podstawową ideą sortowania wyboru jest znalezienie najmniejszego elementu w nieposortowanej tablicy, zastępując go pierwszym elementem. Następnie kontynuuj ten sam proces z resztą nieposortowanej tablicy, tj. Od drugiej pozycji, a następnie od trzeciej i tak dalej.

3) Scal sort

Ta metoda sortowania opiera się na technice dziel i zwyciężaj. Dzieli tablicę na dwie równe podgrupy i kontynuuje, aż każda podtablica zawiera pojedynczy element, a następnie łączy je w uporządkowany sposób, w wyniku czego powstaje posortowana tablica.

4) Sortowanie wstawiania

W sortowaniu przez wstawianie zaczynamy od drugiego elementu. Elementy tablicy są porównywane ze sobą w sposób sekwencyjny. Bieżący element (wartość do posortowania) jest porównywany ze wszystkimi elementami w posortowanej podtablicy. Wszystkie elementy posortowanej podtablicy, które są większe niż bieżący element, są przesuwane, a bieżąca wartość jest wstawiana. Ten proces powtarza się, aż cała tablica zostanie posortowana.

5) Szybkie sortowanie

Quicksort, podobnie jak sortowanie scalone, również opiera się na algorytmie dzielenia i zdobywania. W tej metodzie element jest wybierany jako element przestawny (zazwyczaj pierwszy element). Następnie partycje tablicy są tworzone wokół wybranej osi przestawnej, tzn. Wszystkie elementy mniejsze niż oś obrotu utworzą jedną pod-tablicę, a wszystkie elementy większe niż oś obrotu utworzą drugą. Procedura jest powtarzana również z pod-tablicami, aż cała tablica zostanie posortowana.

6) Sortuj sterty

Algorytm sortowania sterty opiera się na porównaniu. Maksymalny element jest wybierany i umieszczany w pozycji końcowej. Następnie znajduje się drugi co do wielkości element i umieszczany jest na drugim miejscu. Ten proces powtarza się dla wszystkich elementów.

Polecane artykuły

Jest to przewodnik po funkcjach macierzy w C. Tutaj omawiamy różne funkcje i sposoby sortowania macierzy. Możesz również przejrzeć nasze inne powiązane artykuły, aby dowiedzieć się więcej -

  1. Tablice w C ++
  2. Tablice w R.
  3. Funkcje w R.
  4. Zalety macierzy
  5. Rodzaje funkcji tablic w PHP i przykłady