Introduksjon til Array-funksjoner i C

Array-funksjoner i C er en type datastruktur som inneholder flere elementer av samme datatype. Størrelsen på en matrise er fast og elementene blir samlet på en sekvensiell måte. Det kan være forskjellige dimensjoner på matriser, og C-programmering begrenser ikke antall dimensjoner i en matrise.

Ulike funksjoner av Array i C.

Det er forskjellige funksjoner som kan utføres på matriser.

1) Traversing

Å krysse en array betyr å gå gjennom hvert element i en array nøyaktig en gang. Vi starter fra det første elementet og går til det siste elementet. Et eksempel på et slikt program som utfører krysningsoperasjoner på en lineær matrise er gitt nedenfor på C-språk.

Kode

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

Produksjon:

2) Søker

Søkeoperasjonen brukes til å finne et bestemt dataelement eller element i en matrise. Vi kan utføre søk i en usortert matrise ved hjelp av traversal of the Array. Den lineære gjennomgangen fra det første elementet til det siste elementet kan brukes til å søke om et gitt nummer er til stede i en matrise, og kan også brukes til å finne sin posisjon hvis den er til stede.

Dette gjøres ved å sammenligne hvert element med det gitte elementet (som skal søkes). Når elementet er funnet, stoppes søkeoperasjonen. Her er et eksempel for å vise søkeoperasjoner utført på en matrise i C

Kode

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

Produksjon:

3) Innlegging

Innsettingsoperasjon brukes til å legge til et nytt element i Array. Når vi spesifiserer det bestemte elementet og posisjonen der det skal legges til i Array, utfører vi innsettingsoperasjon. Imidlertid forstyrres ikke Array-størrelsen mens du utfører denne operasjonen. Et element blir satt inn i en matrise bare hvis det har tilstrekkelig plass til å legge det til. Hvis størrelsen på en matrise allerede er full, kan ikke et nytt element legges til. Et eksempel for å vise innsatsoperasjon i en usortert matrise i C.

Kode

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

Produksjon:

4) Sletting

Ved sletteoperasjon blir det elementet som allerede finnes i Array, søkt (ved bruk av lineært søk) og slettet, etterfulgt av skifting av elementer. Brukeren kommer inn i posisjonen til elementet som skal slettes fra matrisen. Sletting, akkurat som innsetting, påvirker ikke størrelsen på matrisen. Plasseringen til elementet som skal slettes, bør også være innenfor størrelsen på matrisen, siden sletting av et element utover størrelsen på Array ikke er mulig. C-program for å vise sletteoperasjoner i en usortert matrise.

Kode

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

Produksjon:

5) Sortering

Denne operasjonen utføres for å sortere en matrise i en fast rekkefølge, dvs. enten stigende eller synkende. Her er et eksempel på sorteringsoperasjon på en matrise i C

Kode

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

Produksjon:

Ulike måter å sortere en matrise på

Nedenfor er de forskjellige sorteringsmetodene for Array:

1) Bubble Sort

Bubble sort sammenligner alle elementene ett etter ett og sorterer dem basert på verdiene. Det starter med å sammenligne det første elementet med det andre, hvis det første elementet er større enn det andre elementet, vil det bytte begge elementene og fortsette å sammenligne det andre og det tredje elementet, og så videre.

2) Valgssortering

Den grunnleggende ideen bak utvalgssortering er å finne det minste elementet i usortert matrise, og erstatte det med det første elementet. Fortsett deretter den samme prosessen med resten av usortert matrise, dvs. fra den andre posisjonen, deretter fra den tredje og så videre.

3) Merge Sort

Denne metoden for sortering er basert på skillet og erobringsteknikken. Den deler oppstillingen i to like underområder og fortsetter til hver undergruppe inneholder et enkelt element, og deretter slår de sammen på en sortert måte som resulterer i en sortert matrise.

4) Innsettingssortering

I innføringssortering starter vi med det andre elementet. Arrayelementene blir sammenlignet med hverandre på en sekvensiell måte. Gjeldende element (verdien som skal sorteres) sammenlignes med alle elementene i den sorterte undergruppen. Alle elementene i den sorterte delgruppen som er større enn det gjeldende elementet blir forskjøvet, og nåværende verdi settes inn. Denne prosessen gjentas til hele gruppen er sortert.

5) Rask sortering

Quicksort, akkurat som sammenslåingen, er også basert på skillet og erobringsalgoritmen. I denne metoden velges et element som pivotten (vanligvis det første elementet). Deretter lages partisjoner av en matrise rundt den valgte pivotten, dvs. alle elementene mindre enn pivoten vil danne en undergruppe, og alle elementene som er større enn pivoten vil danne en annen. Prosedyren gjentas også med delarrayene til hele matrisen er sortert.

6) Heap Sort

Algoritmen for heap sort er basert på sammenligningen. Maksimumselementet velges og plasseres i sluttposisjonen. Da blir det nest største elementet funnet og plassert i den nest siste posisjonen. Denne prosessen gjentas for alle elementene.

Anbefalte artikler

Dette er en guide til Array Functions i C. Her diskuterer vi de forskjellige funksjonene og måtene å sortere en Array. Du kan også gå gjennom andre relaterte artikler for å lære mer -

  1. Arrays i C ++
  2. Arrays i R
  3. Funksjoner i R
  4. Fordeler med array
  5. Typer Array-funksjoner i PHP og eksempler