void quicksort( City *a, int n) {
int i = 0, j = n - 1, x = a[j / 2].population;
do {
while (a[i].population > x)
++i;
while (x > a[j].population)
--j;
if (i < j) {
City w = a[i]; //入れ替え
a[i] = a[j];
a[j] = w;
}
} while( ++i <= --j);
if (i == j + 3) --i, ++j; if(j >0) quicksort(&a[0], j + 1); if (i < n - 1) quicksort(&a[i], n-1);
}
の部分を実行すると
- thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x7ffeefc0001c)
frame #0: 0x0000000100000a8c main`quicksort(a=0x00007ffeefbfffa0, n=8) at 都道府県.c:67:12
64 do {
65 while (a[i].population > x)
66 ++i;
-> 67 while (x > a[j].population)
68 --j;
69 if (i < j) {
70 City w = a[i]; //入れ替え
このように出るのは何故ですか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。