Uvod u funkcije polja u C

Funkcije matrice u C je vrsta strukture podataka koja sadrži više elemenata iste vrste podataka. Veličina niza je fiksna, a elementi se skupljaju na način koji slijedi. Mogu postojati različite dimenzije nizova i C programiranje ne ograničava broj dimenzija u Nizu.

Različite funkcije niza u C

Postoje različite funkcije koje se mogu izvoditi na nizovima.

1) Putovanje

Proći Array znači proći kroz svaki element Array-a točno jednom. Počinjemo od prvog elementa i prelazimo na zadnji element. Primjer takvog programa koji izvodi prelaznu operaciju na linearnom nizu dan je dolje na jeziku C.

Kodirati

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

Izlaz:

2) Pretraživanje

Operacija pretraživanja koristi se za pronalaženje određene podatkovne stavke ili elementa u Nizu. Pretragu možemo izvršiti u nesortiranom polju uz pomoć preskakanja polja. Ravno linearno kretanje od prvog do posljednjeg elementa može se koristiti za pretraživanje ako je u polju Niz prisutan određeni broj, a može se koristiti i za pronalaženje njegovog položaja ako je prisutan.

To se postiže usporedbom svakog elementa s danim elementom (koji se traži). Jednom kada se element nađe, pretraga se zaustavlja. Evo primjera za prikaz operacija pretraživanja koja se izvode na Array u C

Kodirati

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

Izlaz:

3) Umetanje

Umetanje operacije koristi se za dodavanje novog elementa u Niz. Kad odredimo određeni element i poziciju gdje treba dodati u Niz, izvodimo operaciju umetanja. Međutim, veličina polja se ne ometa tijekom izvođenja ove operacije. Element će biti umetnut u niz samo ako ima dovoljno prostora da ga doda. Ako je veličina niza već puna, novi se element ne može dodati. Primjer za prikaz operacije umetanja u nesortiranom Nizu u C.

Kodirati

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

Izlaz:

4) brisanje

U operaciji brisanja traži se element koji već postoji u Nizu (pomoću linearnog pretraživanja) i briše, nakon čega slijedi pomicanje elemenata. Korisnik ulazi u položaj elementa koji treba izbrisati iz matrice. Operacija brisanja, baš kao i operacija umetanja, ne utječe na veličinu niza. Također, položaj elementa koji se briše trebao bi biti unutar veličine polja, jer brisanje elementa izvan veličine Array nije moguće. C program za prikaz operacija brisanja u nesortiranom nizu.

Kodirati

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

Izlaz:

5) sortiranje

Ova se operacija izvodi za sortiranje Nizanja u fiksni redoslijed, tj. Uzlazno ili silazno. Evo primjera operacije sortiranja na nizu u C

Kodirati

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

Izlaz:

Različiti načini sortiranja niza

Ispod su različite metode sortiranja za Array:

1) Bubble Sort

Bubble vrsta uspoređuje sve elemente jedan po jedan i razvrstava ih na temelju njihovih vrijednosti. Počinje usporedbom prvog elementa i drugog, ako je prvi element veći od drugog elementa, zamijenit će oba elementa i nastaviti uspoređivanjem drugog i trećeg elementa i tako dalje.

2) Sorta odabira

Osnovna ideja iza vrste selekcije je pronalazak najmanje elementa u nesortiranom nizu, zamjena istog s prvim elementom. Zatim nastavite isti postupak s ostatkom nesortiranog niza, tj. S drugog položaja, zatim s trećeg i tako dalje.

3) Spoji sortiranje

Ova metoda sortiranja temelji se na tehnici razdvajanja i osvajanja. Ona dijeli niz na dva jednaka podrasla i nastavlja sve dok svaka podrasla ne sadrži jedan element, a zatim ih spaja na sortirani način što rezultira sortiranom matrijom.

4) Vrsta umetanja

Kod sortiranja umetanja započinjemo s drugim elementom. Elementi matrice se međusobno uspoređuju. Trenutačni element (vrijednost koju treba sortirati) uspoređuje se sa svim elementima u sortiranom podmarku. Pomiču se svi elementi u sortiranom podgrađu koji su veći od trenutnog elementa i umetnuta je trenutna vrijednost. Taj se postupak ponavlja sve dok se cijeli niz ne razvrsta.

5) Brzo sortiranje

Quicksort, baš kao i vrsta spajanja, također se temelji na algoritmu podijeli i osvoji. U ovoj se metodi kao element okreće element (uglavnom prvi element). Zatim, particije matrice se izrađuju oko odabranog stožera, tj. Svi elementi manji od stožera formirat će jednu potpolje, a svi elementi veći od stožera oblikovat će drugi. Postupak se ponavlja i s podraslinama sve dok se cijeli niz ne razvrsta.

6) Vrste sorti

Algoritam sortiranja hrpe temelji se na usporedbi. Maksimalni element odabire se i stavlja u krajnji položaj. Tada se pronalazi drugi najveći element i stavlja se u drugi zadnji položaj. Ovaj se postupak ponavlja za sve elemente.

Preporučeni članci

Ovo je vodič za funkcije Array u C. Ovdje smo razmotrili različite funkcije i načine sortiranja Array. Možete i pregledati naše druge povezane članke da biste saznali više -

  1. Nizi u C ++
  2. Nizovi u R
  3. Funkcije u R
  4. Prednosti Array
  5. Vrste funkcija matrice u PHP-u i primjerima

Kategorija: