Introducere în funcțiile Array în C

Funcțiile Array în C este un tip de structură de date care conține mai multe elemente de același tip de date. Mărimea unui tablou este fixă ​​și elementele sunt colectate în mod secvențial. Pot fi diferite dimensiuni ale matricelor, iar programarea C nu limitează numărul de dimensiuni într-un Array.

Diferite funcții ale Array în C

Există diferite funcții care pot fi îndeplinite pe tablouri.

1) Traversing

Traversarea unei Array înseamnă parcurgerea fiecărui element al unui Array exact o dată. Pornim de la primul element și trecem la ultimul element. Un exemplu de astfel de program care efectuează o operație de traversare pe un Array liniar este dat mai jos în limbajul C.

Cod

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

ieşire:

2) Căutarea

Operația de căutare este utilizată pentru a găsi un anumit element sau element de date într-o matrice. Putem efectua căutarea într-un tablou nesortat cu ajutorul traversării Array-ului. Trecerea liniară de la primul element la ultimul element poate fi utilizată pentru a căuta dacă un anumit număr este prezent într-un Array și poate fi, de asemenea, utilizat pentru a găsi poziția acestuia dacă este prezent.

Acest lucru se realizează prin compararea fiecărui element cu elementul dat (care trebuie căutat). Odată găsit elementul, operația de căutare este oprită. Iată un exemplu pentru a arăta operațiunea de căutare efectuată pe un Array în C

Cod

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

ieşire:

3) Inserarea

Operația de inserare este utilizată pentru a adăuga un element nou în Array. Când specificăm elementul și poziția în care trebuie adăugată în Array, efectuăm operația de inserare. Cu toate acestea, dimensiunea Array nu este perturbată în timpul efectuării acestei operații. Un element va fi inserat într-un tablou numai dacă are suficient spațiu pentru a-l adăuga. Dacă dimensiunea unui tablou este deja completă, un element nou nu poate fi adăugat. Un exemplu pentru a arăta operația de introducere într-un Array nesortizat în C.

Cod

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

ieşire:

4) Ștergerea

În operația de ștergere, elementul care există deja în Array este căutat (folosind căutarea liniară) și șters, urmat de mutarea elementelor. Utilizatorul introduce poziția elementului care urmează să fie șters din tablou. Operația de ștergere, la fel ca operația de inserare, nu afectează dimensiunea tabloului. De asemenea, poziția elementului care trebuie șters trebuie să se încadreze în dimensiunea tabloului, deoarece ștergerea unui element dincolo de dimensiunea Array nu este posibilă. Programul C pentru a afișa operațiunea de ștergere într-un tablou nesortat.

Cod

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

ieşire:

5) Sortarea

Această operație este realizată pentru a sorta un Array într-o ordine fixă, adică ascendent sau descendent. Iată un exemplu de operare de sortare pe un Array în C

Cod

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

ieşire:

Diferite moduri de sortare a unei matrici

Mai jos sunt diferite metode de sortare pentru Array:

1) Sortare cu bule

Sortul cu bule compară toate elementele unul câte unul și le sortează în funcție de valorile lor. Începe prin a compara primul element cu cel de-al doilea, dacă primul element este mai mare decât cel de-al doilea element, va schimba ambele elemente și va continua să compare al doilea și al treilea element, etc.

2) Sortare selecție

Ideea de bază din spatele sortării de selecție este găsirea celui mai puțin element din tabloul nesortat, înlocuindu-l cu primul element. Apoi continuați același proces cu restul tabloului nesortat, adică din a doua poziție, apoi din a treia și așa mai departe.

3) Sortare Merge

Această metodă de sortare se bazează pe tehnica de împărțire și cucerire. Împărțește tabloul în două subordonări egale și continuă până când fiecare subarray conține un singur element, apoi le îmbină într-o manieră sortată, rezultând un tablou sortat.

4) Sortare inserție

În sortarea de inserție, începem cu al doilea element. Elementele de matrice sunt comparate între ele într-o manieră secvențială. Elementul curent (valoarea care trebuie sortată) este comparat cu toate elementele din subarba sortată. Toate elementele din subarba sortată, care sunt mai mari decât elementul curent, sunt mutate și se introduce valoarea curentă. Acest proces se repetă până la sortarea întregului tablou.

5) Sortare rapidă

Quicksort, la fel ca sortarea de îmbinare, se bazează și pe algoritmul de împărțire și cucerire. În această metodă, un element este ales ca pivot (în general primul element). Apoi, partițiile unui tablou se realizează în jurul pivotului ales, adică toate elementele mai mici decât pivotul vor forma un sub-tablou și toate elementele mai mari decât pivotul vor forma un alt. Procedura se repetă și cu sub-tablele până la sortarea întregului tablou.

6) Sortare haldă

Algoritmul de sortare a masei se bazează pe comparație. Elementul maxim este selectat și plasat în poziția finală. Apoi, cel de-al doilea element cel mai mare este găsit și plasat în a doua ultimă poziție. Acest proces se repetă pentru toate elementele.

Articole recomandate

Acesta este un ghid al funcțiilor Array din C. Aici vom discuta despre diferitele funcții și modalități de sortare a unui Array. Puteți parcurge și alte articole conexe pentru a afla mai multe -

  1. Arătări în C ++
  2. Arătări în R
  3. Funcții în R
  4. Avantajele Array
  5. Tipuri de funcții Array în PHP și exemple