2016-04-20 33 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(INT CH []){// 代碼 }

  3. 呼叫的功能,這樣,裏面main()

    insert_sort(ch);


檢查我有Quicksort (C++)例子,它是真正相關的!