我寫QuickSort來測試 可是為什麼出現這訊息

看板MacDev作者 (@______________@)時間19年前 (2005/10/28 03:13), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
[Session started at 2005-10-28 03:01:28 +0800.] Test2 has exited due to signal 11 (SIGSEGV). Test2是我用Xcode 取的Project名稱 ===我的code (輸入在main.c裡)==== #include <stdio.h> #include <stdlib.h> #include <math.h> #include <time.h> void __qsort( double *data, int num); void swap( double *, int, int ); int main() { int num = 20, i; double data[ 20 ] = { 1.2, 1.3, 1.21, 1.6, 4.7, 0.8, 5.3, 7.1, 2.5, 2.5 , 3.3, 0.4, 1.6, 2.0, 9.9, 21.3, 2.4, 7.7, 10.2 , 13.2 }; data[ num ] = HUGE_VAL; __qsort( data, num); printf("\n\n"); for( i = 0; i < num; i++ ) { printf("%f\n", *( data + i) ); } return 0; } /* Quick Sort ( array, number of array, start point, end point) */ void __qsort( double *data, int num ) { int i = 1, j = num - 1; /* data[ 0 ] go to the correct location */ while( i < j ) { while( *( data + i ) < *( data ) ) { i++; } while( *( data + j ) > *( data ) ) { j--; } swap( data, i, j ); } swap( data, j, 0); /* End data[ stratp ] location */ __qsort( data, j ); __qsort( data + i, num - i ); } /* End Quick Sort function */ /* Swap array element ( array, first, second ) */ void swap( double *subarray, int first, int second) { double hold = *( subarray + first ); *( subarray + first ) = *( subarray + second ); *( subarray + second ) = hold; } /* End swap function */ ===快哭出來了....是我C太弱了嗎??有寫錯的地方??=== -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.248.41
文章代碼(AID): #13OIRAxO (MacDev)
文章代碼(AID): #13OIRAxO (MacDev)