Introduktion til Array-funktioner i C

Array-funktioner i C er en type datastruktur, der indeholder flere elementer af den samme datatype. Størrelsen på en matrix er fast, og elementerne opsamles i rækkefølge. Der kan være forskellige dimensioner på arrays, og C-programmering begrænser ikke antallet af dimensioner i en matrix.

Forskellige funktioner i Array i C.

Der er forskellige funktioner, der kan udføres på arrays.

1) Krydsning

At krydse en array betyder at gå gennem hvert element i en array nøjagtigt én gang. Vi starter fra det første element og går til det sidste element. Et eksempel på et sådant program, der udfører traverseringsoperation på en lineær array, er givet nedenfor på C-sprog.

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

Produktion:

2) Søgning

Søgeoperationen bruges til at finde et bestemt dataelement eller et element i en matrix. Vi kan udføre søgning i et usorteret array ved hjælp af krydsning af Array. Den lineære gennemgang fra det første element til det sidste element kan bruges til at søge, hvis et givet nummer er til stede i en matrix, og kan også bruges til at finde sin position, hvis den er til stede.

Dette gøres ved at sammenligne hvert element med det givne element (som skal søges). Når elementet er fundet, stoppes søgefunktionen. Her er et eksempel til at vise søgefunktioner udført på en matrix 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;
)

Produktion:

3) Indsættelse

Indsætningsoperation bruges til at tilføje et nyt element i Array. Når vi specificerer det bestemte element og position, hvor det skal tilføjes i Array, udfører vi indsættelsesoperation. Størrelsen på Array'en forstyrres imidlertid ikke, mens du udfører denne handling. Et element indsættes kun i en matrix, hvis det har tilstrækkelig plads til at tilføje det. Hvis størrelsen på en matrix allerede er fuld, kan et nyt element ikke tilføjes. Et eksempel til at vise indsættelse i en usorteret matrix 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;
)

Produktion:

4) Sletning

Ved sletning søges det element, der allerede findes i Array (ved hjælp af lineær søgning) og slettes, efterfulgt af forskydning af elementer. Brugeren indtaster positionen for elementet, der skal slettes fra matrixen. Sletningsoperation, ligesom indsættelsesoperationen, påvirker ikke størrelsen på array. Placeringen af ​​det element, der skal slettes, skal også være inden for størrelsen af ​​array, da sletningen af ​​et element ud over størrelsen på Array ikke er mulig. C-program til visning af sletning i en usorteret matrix.

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

Produktion:

5) Sortering

Denne operation udføres for at sortere en matrix i en fast rækkefølge, dvs. enten stigende eller faldende. Her er et eksempel på sorteringsoperation på en matrix 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));
)

Produktion:

Forskellige måder at sortere en matrix på

Herunder er de forskellige sorteringsmetoder for Array:

1) Bubble Sort

Bubblesorter sammenligner alle elementerne en efter en og sorterer dem baseret på deres værdier. Det starter med at sammenligne det første element med det andet, hvis det første element er større end det andet element, vil det bytte begge elementer og fortsætte med at sammenligne det andet og det tredje element, og så videre.

2) Valgssortering

Den grundlæggende idé bag udvælgelsessortering er at finde det mindste element i det usorterede array og erstatte det med det første element. Fortsæt derefter den samme proces med resten af ​​den usorterede matrix, dvs. fra den anden position, derefter fra den tredje osv.

3) Flet sortering

Denne sorteringsmetode er baseret på skillet og erobringsteknikken. Den opdeler arrayet i to lige store undergrupper og fortsætter, indtil hver undergruppe indeholder et enkelt element, og derefter flettes dem på en sorteret måde, hvilket resulterer i en sorteret matrix.

4) Indsættelsessortering

Ved indsættelsessorter starter vi med det andet element. Arrayelementerne sammenlignes med hinanden på en rækkefølge. Det aktuelle element (værdien, der skal sorteres) sammenlignes med alle elementerne i den sorterede undergruppe. Alle elementer i den sorterede undergruppe, der er større end det aktuelle element, forskydes, og den aktuelle værdi indsættes. Denne proces gentages, indtil hele matrixen er sorteret.

5) Hurtig sortering

Quicksort, ligesom flettsorteringen, er også baseret på dividerings- og erobringsalgoritmen. I denne metode vælges et element som drejepunktet (generelt det første element). Derefter oprettes partitioner af en matrix omkring den valgte pivot, dvs. alle elementer, der er mindre end pivot, vil danne en undergruppe, og alle elementer, der er større end pivotten, vil danne en anden. Proceduren gentages også med undergrupperne, indtil hele matrixen er sorteret.

6) Heap Sort

Algoritmen til heap-sortering er baseret på sammenligningen. Det maksimale element vælges og placeres i slutpositionen. Derefter findes det næststørste element og placeres i den næstsidste position. Denne proces gentages for alle elementer.

Anbefalede artikler

Dette er en guide til Array-funktioner i C. Her diskuterer vi de forskellige funktioner og måder til sortering af en Array. Du kan også gennemgå vores andre relaterede artikler for at lære mere -

  1. Arrays i C ++
  2. Arrays i R
  3. Funktioner i R
  4. Fordele ved Array
  5. Typer af array-funktioner i PHP & eksempler

Kategori: