Maîtrise des pointeurs et de la gestion de la mémoire en langage C
1. Arithmétique des pointeurs et conversions de types entiers
En C, il est possible de convertir explicitement une valeur entière en un pointeur et vice versa. Cependant, l'arithmétique appliquée diffère selon que le compilateur traite la donnée comme un entier pur ou comme une adresse mémoire associée à un type spécifique.
#include <stdio.h ...
Publié le 23 juillet à 23h43
Algorithmes Avancés sur les Listes Chaînées en C : Manipulation et Optimisation
Suppression et Filtrage de Nœuds
La manipulation des pointeurs est fondamentale lors de la suppression de nœuds dans une liste chaînée. Pour une liste sans nœud d'en-tête, l'approche récursive offre une élégance particulière en modifiant directement les références via des pointeurs sur pointeurs. Pour les listes avec nœud d'en-tête, une approch ...
Publié le 13 juillet à 10h36
Fusion efficace de deux tableaux triés et gestion de la mémoire en C++
Fusion de deux tableaux triés (LeetCode 88)
L'objectif est de fusionner deux tableaux d'entiers triés, nums1 et nums2, en un seul tableau trié au sein de nums1. Pour optimiser l'espace, nous utilisons une approche à trois pointeurs partant de la fin des tableaux, ce qui évite d'utiliser une structure de données intermédiaire.
class Solution {
...
Publié le 3 juillet à 01h52
Concepts et implémentation d'une liste chaînée simple en C
Les tableaux dynamiques (listes séquentielles) sont des structures de données fondamentales, mais ils présentent certaines limites :
L'insertion ou la suppression en tête ou au milieu nécessite un décalage des éléments, ce qui donne une complexité temporelle de O(N).
Le redimensionnement implique l'allocation d'un nouvel espace, la copie des d ...
Publié le 12 juin à 00h43