私はプログラミングには本当に新しいですし、エラーがどこにあるかわからない、キャストなしで整数からポインタになります分割エラー、は</p> <p>私はそれをコンパイルしようと、それはちょうど与える...
誰かが私を助けてくれますか?
size_t partition(int *data, size_t idx_left, size_t idx_right){
int pivot;
int i;
int j;
pivot = data[idx_left];
i = idx_left-1;
j = idx_right+1;
while(1)
{
do
{
i= i+1;
}while(data[i]<pivot);
do
{
j =j-1;
}while(data[j]>pivot);
if (i>=j)
{
return j;
}
swap(pivot,data[i],data[j]);
}}
static inline void swap(int* data, size_t idx_left, size_t idx_right)
{
int temp;
temp = data[idx_right];
data[idx_right] = data[idx_left];
data[idx_left] = temp;
}
ポイント、それはセグメンテーションフォルトではありません。とにかくそれを実行しようとするとおそらく1つを投げるだろうと思うが。 – Iluvatar
スワップ関数は、 'swap(data [i]、data [j])'の代わりに 'swap(data、i、j)'のように動作します。スワップには、「i」、「j」、「ピボット」という3つのインデックスがありますが、一度に2つのアイテムを交換することしかできません。 –