Einführung in Array-Funktionen in C

Array-Funktionen in C sind Datenstrukturtypen, die mehrere Elemente desselben Datentyps enthalten. Die Größe eines Arrays ist festgelegt und die Elemente werden nacheinander erfasst. Arrays können unterschiedliche Dimensionen haben, und die C-Programmierung beschränkt die Anzahl der Dimensionen in einem Array nicht.

Verschiedene Funktionen des Arrays in C

Es gibt verschiedene Funktionen, die für Arrays ausgeführt werden können.

1) Überqueren

Durchqueren eines Arrays bedeutet, dass jedes Element eines Arrays genau einmal durchlaufen wird. Wir beginnen mit dem ersten Element und gehen zum letzten Element. Ein Beispiel für ein solches Programm, das eine Verfahroperation für ein lineares Array ausführt, ist nachstehend in der Sprache C angegeben.

Code

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

Ausgabe:

2) Suchen

Die Suchoperation wird verwendet, um ein bestimmtes Datenelement in einem Array zu finden. Wir können die Suche in einem unsortierten Array mit Hilfe der Überquerung des Arrays durchführen. Der lineare Übergang vom ersten zum letzten Element kann verwendet werden, um zu suchen, ob eine bestimmte Zahl in einem Array vorhanden ist, und kann auch verwendet werden, um die Position zu finden, falls vorhanden.

Dies erfolgt durch Vergleichen jedes Elements mit dem gegebenen Element (das durchsucht werden soll). Sobald das Element gefunden wurde, wird der Suchvorgang gestoppt. Hier ist ein Beispiel für eine Suchoperation, die für ein Array in C ausgeführt wird

Code

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

Ausgabe:

3) Einfügen

Die Einfügeoperation wird verwendet, um ein neues Element in das Array einzufügen. Wenn wir das bestimmte Element und die Position angeben, an der es im Array hinzugefügt werden soll, führen wir eine Einfügeoperation durch. Die Größe des Arrays wird bei dieser Operation jedoch nicht gestört. Ein Element wird nur dann in ein Array eingefügt, wenn es genügend Platz zum Hinzufügen hat. Wenn die Größe eines Arrays bereits voll ist, kann kein neues Element hinzugefügt werden. Ein Beispiel für die Einfügeoperation in einem unsortierten Array in C.

Code

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

Ausgabe:

4) Löschung

Bei der Löschoperation wird das Element, das bereits im Array vorhanden ist, gesucht (unter Verwendung der linearen Suche) und gelöscht, gefolgt von der Verschiebung von Elementen. Der Benutzer gibt die Position des Elements ein, das aus dem Array gelöscht werden soll. Der Löschvorgang hat ebenso wie der Einfügevorgang keine Auswirkungen auf die Größe des Arrays. Außerdem sollte die Position des zu löschenden Elements innerhalb der Größe des Arrays liegen, da das Löschen eines Elements über die Größe des Arrays hinaus nicht möglich ist. C-Programm zum Anzeigen des Löschvorgangs in einem unsortierten Array.

Code

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

Ausgabe:

5) Sortieren

Diese Operation wird ausgeführt, um ein Array in einer festen Reihenfolge zu sortieren, dh entweder aufsteigend oder absteigend. Hier ist ein Beispiel für eine Sortieroperation für ein Array in C

Code

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

Ausgabe:

Verschiedene Arten, ein Array zu sortieren

Nachfolgend sind die verschiedenen Sortiermethoden für Array aufgeführt:

1) Blasensortierung

Die Blasensortierung vergleicht alle Elemente nacheinander und sortiert sie nach ihren Werten. Zunächst wird das erste Element mit dem zweiten verglichen. Wenn das erste Element größer als das zweite Element ist, werden beide Elemente vertauscht, und das zweite und das dritte Element werden weiter verglichen.

2) Auswahl sortieren

Die Grundidee hinter der Auswahlsortierung besteht darin, das kleinste Element im unsortierten Array zu finden und es durch das erste Element zu ersetzen. Fahren Sie dann mit dem Rest des unsortierten Arrays fort, dh von der zweiten Position, dann von der dritten usw.

3) Sortieren zusammenführen

Diese Art der Sortierung basiert auf der Divide- und Conquer-Technik. Das Array wird in zwei gleiche Unterarrays aufgeteilt und fortgesetzt, bis jedes Unterarray ein einzelnes Element enthält. Anschließend werden sie sortiert zusammengeführt, sodass ein sortiertes Array entsteht.

4) Einfügesortierung

Bei der Einfügesortierung beginnen wir mit dem zweiten Element. Die Array-Elemente werden sequentiell miteinander verglichen. Das aktuelle Element (der zu sortierende Wert) wird mit allen Elementen im sortierten Subarray verglichen. Alle Elemente im sortierten Unterfeld, die größer als das aktuelle Element sind, werden verschoben und der aktuelle Wert wird eingefügt. Dieser Vorgang wird wiederholt, bis das gesamte Array sortiert ist.

5) Schnelle Sortierung

Quicksort basiert ebenso wie die Mergesortierung auf dem Divide- und Conquer-Algorithmus. Bei dieser Methode wird ein Element als Drehpunkt ausgewählt (im Allgemeinen das erste Element). Dann werden Partitionen eines Arrays um den ausgewählten Drehpunkt erstellt, dh alle Elemente, die kleiner als der Drehpunkt sind, bilden ein Unterarray und alle Elemente, die größer als der Drehpunkt sind, bilden ein anderes. Die Prozedur wird auch mit den Subarrays wiederholt, bis das gesamte Array sortiert ist.

6) Heap-Sortierung

Der Algorithmus der Heap-Sortierung basiert auf dem Vergleich. Das maximale Element wird ausgewählt und an der Endposition platziert. Dann wird das zweitgrößte Element gefunden und an die vorletzte Stelle gesetzt. Dieser Vorgang wird für alle Elemente wiederholt.

Empfohlene Artikel

Dies ist eine Anleitung zu Array-Funktionen in C. Hier werden die verschiedenen Funktionen und Möglichkeiten zum Sortieren eines Arrays erläutert. Sie können auch unsere anderen verwandten Artikel durchgehen, um mehr zu erfahren -

  1. Arrays in C ++
  2. Arrays in R
  3. Funktionen in R
  4. Vorteile des Arrays
  5. Arten von Array-Funktionen in PHP & Beispiele