Introduction aux fonctions de tableau en C

Les fonctions de tableau en C sont un type de structure de données qui contient plusieurs éléments du même type de données. La taille d'un tableau est fixe et les éléments sont collectés de manière séquentielle. Il peut y avoir différentes dimensions de tableaux et la programmation C ne limite pas le nombre de dimensions dans un tableau.

Différentes fonctions du tableau en C

Différentes fonctions peuvent être exécutées sur les tableaux.

1) Traversée

Traverser un tableau signifie parcourir chaque élément d'un tableau exactement une fois. Nous partons du premier élément et passons au dernier élément. Un exemple d'un tel programme qui effectue une opération de déplacement sur un tableau linéaire est donné ci-dessous en langage C.

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

Production:

2) Recherche

L'opération de recherche est utilisée pour rechercher un élément de données ou un élément particulier dans un tableau. Nous pouvons effectuer une recherche dans un tableau non trié à l'aide de la traversée du tableau. Le parcours linéaire du premier élément au dernier élément peut être utilisé pour rechercher si un nombre donné est présent dans un tableau et peut également être utilisé pour trouver sa position s'il est présent.

Cela se fait en comparant chaque élément avec l'élément donné (qui doit être recherché). Une fois l'élément trouvé, l'opération de recherche est arrêtée. Voici un exemple pour montrer l'opération de recherche effectuée sur un tableau en C

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

Production:

3) Insertion

L'opération d'insertion est utilisée pour ajouter un nouvel élément dans le tableau. Lorsque nous spécifions l'élément et la position particuliers où il doit être ajouté dans le tableau, nous effectuons une opération d'insertion. Cependant, la taille de la baie n'est pas perturbée lors de l'exécution de cette opération. Un élément sera inséré dans un tableau uniquement s'il a suffisamment d'espace pour l'ajouter. Si la taille d'un tableau est déjà pleine, un nouvel élément ne peut pas être ajouté. Un exemple pour montrer l'opération d'insertion dans un tableau non trié en 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;
)

Production:

4) Suppression

Dans l'opération de suppression, l'élément qui existe déjà dans le tableau est recherché (à l'aide de la recherche linéaire) et supprimé, suivi du décalage des éléments. L'utilisateur entre la position de l'élément à supprimer du tableau. L'opération de suppression, tout comme l'opération d'insertion, n'affecte pas la taille du tableau. De plus, la position de l'élément à supprimer doit se situer dans la taille du tableau, car la suppression d'un élément au-delà de la taille du tableau n'est pas possible. Programme C pour afficher l'opération de suppression dans un tableau non trié.

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

Production:

5) Tri

Cette opération est effectuée pour trier un tableau dans un ordre fixe, c'est-à-dire ascendant ou descendant. Voici un exemple d'opération de tri sur un tableau en 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));
)

Production:

Différentes façons de trier un tableau

Voici les différentes méthodes de tri pour Array:

1) Tri des bulles

Le tri à bulles compare tous les éléments un par un et les trie en fonction de leurs valeurs. Il commence par comparer le premier élément avec le second, si le premier élément est supérieur au deuxième élément, il échangera les deux éléments et continuera à comparer le deuxième et le troisième élément, et ainsi de suite.

2) Tri de sélection

L'idée de base derrière le tri par sélection est de trouver le moindre élément dans le tableau non trié, en le remplaçant par le premier élément. Ensuite, continuez le même processus avec le reste du tableau non trié, c'est-à-dire à partir de la deuxième position, puis de la troisième et ainsi de suite.

3) Tri par fusion

Cette méthode de tri est basée sur la technique du diviser pour régner. Il divise le tableau en deux sous-tableaux égaux et continue jusqu'à ce que chaque sous-tableau contienne un seul élément, puis les fusionne de manière triée pour aboutir à un tableau trié.

4) Tri par insertion

En tri par insertion, nous commençons par le deuxième élément. Les éléments du tableau sont comparés les uns aux autres de manière séquentielle. L'élément en cours (la valeur à trier) est comparé à tous les éléments du sous-tableau trié. Tous les éléments du sous-tableau trié qui sont supérieurs à l'élément actuel sont décalés et la valeur actuelle est insérée. Ce processus est répété jusqu'à ce que l'ensemble du tableau soit trié.

5) Tri rapide

Quicksort, tout comme le tri par fusion, est également basé sur l'algorithme de division et de conquête. Dans cette méthode, un élément est sélectionné comme pivot (généralement le premier élément). Ensuite, les partitions d'un tableau sont faites autour du pivot choisi, c'est-à-dire que tous les éléments inférieurs au pivot formeront un sous-tableau et tous les éléments supérieurs au pivot en formeront un autre. La procédure est également répétée avec les sous-tableaux jusqu'à ce que l'ensemble du tableau soit trié.

6) Tri en tas

L'algorithme de tri en tas est basé sur la comparaison. L'élément maximum est sélectionné et placé en position finale. Ensuite, le deuxième plus grand élément est trouvé et placé dans l'avant-dernière position. Ce processus est répété pour tous les éléments.

Articles recommandés

Ceci est un guide des fonctions de tableau en C. Ici, nous discutons des différentes fonctions et façons de trier un tableau. Vous pouvez également consulter nos autres articles connexes pour en savoir plus -

  1. Tableaux en C ++
  2. Tableaux en R
  3. Fonctions dans R
  4. Avantages de la baie
  5. Types de fonctions de tableau en PHP et exemples