Recherche et tris c++
Le cours s'organisera selon les chapitres suivants :
➢
Algorithmique sur les tableaux (tris, recherches, …) C++, les types utilisateurs : struct, enum, union ... Récursivité Pointeurs – allocation dynamique
➢
➢
➢
Algorithmique sur les tableaux :
Nous étudierons dans ce cours des algorithmes standards de recherche dans un tableau, ainsi que des algorithmes de tris. Recherches : ●Recherche séquentielle ●Recherche dans un tableau trié ●Recherche dichotomique Tris : ●Tri par sélection ordinaire ●Tri à bulles ●Tri par insertion séquentielle ●Tri par insertion dichotomique Nous aborderons sur ces exemples la complexité des algorithmes. Les algorithmes de recherche et tri seront essentiellement écrits à l'aide de fonctions : on définira le prototype de la fonction, le programme principal appelant cette fonction puis le code de celle-ci.
Algorithmique sur les tableaux :
Quelques rappels sur les tableaux : Il existe plusieurs possibilités de déclarations de tableaux : int tab[10] ; Permet de déclarer un tableau contenant au plus 10 entiers. int tab[10] = {5, 8, 23, 90, 45, 3, 78, 4, 8, 9, 10} ; Permet de déclarer un tableau de 10 entiers dont les valeurs suivent. float tab[] = {6.8, 9.7, 4, 7.9, 23, 23.5}; Permet de déclarer un tableau de flottants, le nombre de valeurs est indiqué par la taille de la liste des éléments qui suivent (ici 6). int tab[10] = {6, 8, 2, 10} ; Permet de déclarer un tableau de 10 entiers dont les 4 premières valeurs sont 6, 8, 2, 10 et les suivantes sont nulles.
Algorithmique sur les tableaux :
Rappels sur les tableaux : Fonction de saisie des éléments d'un tableau d'entiers : void saisie(int t[], int taille) ; int main() { int tab[20], taille ; couttaille ; saisie(tab, taille) ; // ... } void saisie(int t[], int taille) { for(int i = 0 ; i < taille ; ++i) {