我寫QuickSort來測試 可是為什麼出現這訊息
[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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章