簡體   English   中英

使用動態內存分配進行插入排序

[英]Insertion Sort using dynamic memory allocation

您好我想使用動態內存分配來執行插入排序。這是我的代碼,此代碼給我錯誤,要求使用左值。請幫助我。

int *cardSorter(int *arrayPointer,int size){
    int j,i,key;
    for(j=1;j<size;j++){
        key=*(arrayPointer+j);
        i=j-1;
        while(i>=0||*(arrayPointer+i)>key){
            *((arrayPointer+i)+1)=*(arrayPointer+i);
            i--;
        }
        //GIVING ERROR AT THIS LINE : lvalue requied
        *(arrayPointer+i)+1=key;
    }
    return arrayPointer;
}

這里,ArrayPointer指向我動態分配的內存。

就像您的評論中所述,

//GIVING ERROR AT THIS LINE : lvalue requied
*(arrayPointer+i)+1=key;

它應該是

*(arrayPointer+i+1) = key;

或者,甚至更容易閱讀,

arrayPointer[i+1] = key;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM