Uvod v funkcije matrike v C

Funkcije matrike v C je vrsta podatkovne strukture, ki vsebuje več elementov iste vrste podatkov. Velikost matrike je fiksna in elementi se zbirajo na zaporedni način. Lahko so različne dimenzije nizov in programiranje C ne omejuje števila dimenzij v matriki.

Različne funkcije matrike na C

Obstajajo različne funkcije, ki jih lahko izvajamo na nizih.

1) Peljenje

Prehod matrike pomeni natanko enkrat skozi vsak element matrike. Začnemo od prvega elementa in preidemo na zadnji element. Primer takšnega programa, ki izvaja linearno operacijo na linearnem Arrayu, je naveden spodaj v jeziku C.

Koda

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

Izhod:

2) Iskanje

Iskalna operacija se uporablja za iskanje določenega podatkovnega elementa ali elementa v matriki. Iskanje lahko izvajamo v nesortiranem polju s prečkanjem matrike. Linearni prehod od prvega do zadnjega elementa se lahko uporabi za iskanje, če je v matriki prisotno določeno število in se lahko uporabi tudi za iskanje njegovega položaja, če je prisoten.

To se naredi s primerjanjem vsakega elementa z danim elementom (ki ga je treba iskati). Ko najdete element, se iskanje iskanje ustavi. Tu je primer za prikaz iskalne operacije, ki se izvaja na Array v C

Koda

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

Izhod:

3) Vstavitev

Vstavljanje operacije se uporablja za dodajanje novega elementa v matriko. Ko določimo določen element in položaj, kamor ga je treba dodati v Array, izvedemo operacijo vstavljanja. Vendar velikost matrike ni motena med izvajanjem te operacije. Element bo vstavljen v matriko le, če ima dovolj prostora, da ga doda. Če je velikost matrike že polna, novega elementa ni mogoče dodati. Primer za prikaz operacije vstavljanja v nesortirani matriki v C.

Koda

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

Izhod:

4) Črtanje

Pri operaciji brisanja se element, ki že obstaja v Array, išče (z linearnim iskanjem) in izbriše, čemur sledi premik elementov. Uporabnik vnese položaj elementa, ki ga je treba izbrisati iz matrike. Operacija brisanja tako kot operacija vstavljanja ne vpliva na velikost matrike. Prav tako mora biti element elementa, ki ga želite izbrisati, znotraj velikosti matrike, saj izbris elementa, ki presega velikost Array, ni mogoč. C program, ki prikazuje operacijo brisanja v nesortiranem nizu.

Koda

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

Izhod:

5) Razvrščanje

Ta operacija se izvede za razvrščanje matrike v fiksni vrstni red, tj v naraščajočo ali padajočo. Tu je primer razvrstitvenega delovanja na Array v C

Koda

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

Izhod:

Različni načini razvrščanja matrike

Spodaj so različne metode razvrščanja za Array:

1) Razporeditev mehurčkov

Razporeditev mehurčkov primerja vse elemente drug za drugim in jih razvrsti glede na njihove vrednosti. Začne se s primerjanjem prvega elementa z drugim, če je prvi element večji od drugega, bo zamenjal oba elementa in nadaljeval s primerjanjem drugega in tretjega elementa in tako naprej.

2) Razvrstitev izbire

Osnovna ideja izbirne vrste je iskanje najmanj elementa v nesortiranem nizu, ki ga nadomesti s prvim elementom. Nato nadaljujte enak postopek s preostalim nesortiranim nizom, torej z drugega položaja, nato s tretjega in tako naprej.

3) Združi razvrstitev

Ta metoda razvrščanja temelji na tehniki delitve in osvajanja. Niz razdeli na dve enaki podravrmi in nadaljuje, dokler vsaka podvrst ne vsebuje enega elementa, nato pa jih združi na urejen način, kar ima za posledico razvrščeno matriko.

4) Razvrstitev vstavka

V vrsti vstavljanja začnemo z drugim elementom. Elemente matrike primerjamo med seboj na zaporedni način. Trenutni element (vrednost, ki jo je treba razvrstiti) primerjamo z vsemi elementi v razvrščenem podvrstiju. Preklopijo se vsi elementi v razvrščeni podvrsti, ki so večji od trenutnega elementa, in vnese se trenutna vrednost. Ta postopek se ponavlja, dokler ni urejen celoten niz.

5) Hitro razvrščanje

Quicksort, tako kot vrsta združevanja, tudi temelji na algoritmu delitve in osvajanja. Pri tej metodi se za vrtec izbere element (na splošno prvi element). Nato se okoli izbranega vrtišča naredijo particije matrike, tj. Vsi elementi, ki so manjši od vrtička, bodo tvorili eno podpolje in vsi elementi, večji od vrtišča, bodo tvorili drugo. Postopek se ponovi tudi s podračuni, dokler ni urejen celoten niz.

6) Razvrščanje po gomili

Algoritem razvrščanja v gomili temelji na primerjavi. Najvišji element je izbran in postavljen v končni položaj. Nato najdemo drugi največji element in ga postavimo na drugi zadnji položaj. Ta postopek se ponovi za vse elemente.

Priporočeni članki

To je vodnik za funkcije matrike v C. Tukaj razpravljamo o različnih funkcijah in načinih razvrščanja matrike. Obiščite lahko tudi druge naše sorodne članke, če želite izvedeti več -

  1. Nizi v C ++
  2. Nizi v R
  3. Funkcije v R
  4. Prednosti Array
  5. Vrste funkcij matrike v PHP in primeri