2016-04-20 4 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

что 'void' перед вызовом функции кажется совершенно ненужным –

+0

Что вы хотите сказать? –

ответ

0

void insertion_sort (ch) ; не имеет смысла. Это означает объявление переменной с именем insertion_sort с типом void и инициализировано ch. Если вы просто хотите вызвать функцию изменить его

insertion_sort(ch); 
1

Убедитесь, что вы понимаете три различных способа увидеть функцию:

  1. Декларация функции:

    пустоту insertion_sort (int ch []);

  2. Определение функции:

    недействительным insertion_sort (интермедиат ч []) {// код }

  3. Вызов функции, как это, внутри main():

    insertion_sort (ch);


Проверьте мой пример с Quicksort (C++), это действительно актуально!

Смежные вопросы