2016-04-20 3 views
-2
#include<iostream> 

using namespace std ; 

void insertion_sort (int ch[]); 

int size = 7 , i , j , k , l , temp , place ; 

int main() { 

     int ch [] = { 2,6,4,75,3,4,4}; 

     void insertion_sort (ch) ; 

     for (l = 0 ; l < size ; ++l) 
     cout<<ch[l]<<" ";  

} 


void insertion_sort (int c []){ 

     for (i = 0 ; i < size ; ++i){ 

      k=i; 

       if (c[i+1]<c[i]){ 

        temp = c[i+1]; 
        c[i+1]=c[i]; 
        c[i]=temp; 
       } 

      while (k >=0 ){ 

       if(c[k]<c[k-1]) 
       { 
        place=c[k-1]; 
        c[k-1]=c[k]; 
        c[k]=place; 

       } 


       --k; 
      } 



     } 
} 
+0

que «void» devant un appel de fonction semble complètement inutile –

+0

Quelle est votre question? –

Répondre

0

void insertion_sort (ch) ; n'a pas de sens. Cela signifie déclarer une variable nommée insertion_sort avec le type void et initialisée par ch. Si vous voulez juste appeler la fonction changer pour

insertion_sort(ch); 
1

Assurez-vous de comprendre les trois façons différentes de voir une fonction:

  1. Déclaration de la fonction:

    vide insertion_sort (int ch []);

  2. Définition de la fonction:

    insertion_sort void (int ch []) {// votre code }

  3. Appel à la fonction, comme celui-ci, à l'intérieur main():

    insertion_sort (ch);


Vérifiez mon exemple avec Quicksort (C++), il est vraiment pertinent!