0

C で Quick Sort 配置関数のコードを書いていますが、関数の再帰呼び出しで次のエラーが表示されます: Arrange(int,int) は値を返すことができません。

void Arrange(int left,int right){ 
    int i,j,x,w;
    i=left,j=right;
    x=(left+right)/2;
    do{
        while(struct[i].number < struct[x].number)i++;
        while(struct[j].number > struct[x].number)j--;
        if(i<=j){
            w=struct[i].number;
            struct[i].number=struct[j].number;
            struct[j].number=w;
            i++;j--;
  }}while(i<=j);
    if(left<j)
  return Arrange(left,j); //1st recursive call. It doesn't work.
    if(right>i)
  return Arrange(i,right); //2nd recursive call.It doesn't work either.
    };

なぜこうなった?

これは、関数の論理的な問題のように見えるため、投稿していない、より大きなプログラムの単なる関数です。完全なプログラムで既に定義されている構造体。

4

6 に答える 6