冒泡排序(從小到大)

void bubble(int work[],size_t size,int(*compare)(int a,int b))
{
    void swap(int *element1Ptr,int *element2Ptr);
    for(unsigned int pass=1;pass<size;++pass){
        for(size_t count=0;count<=size-1;++count){
            if((*compare)(work[count],work[count+1])){
                swap(&work[count],&work[count+1]);
            }
        }
    }
}
void swap(int *element1Ptr,int *element2Ptr)
{
    int hold=*element1Ptr;
    *element1Ptr=*element2Ptr;
    *element2Ptr=hold;
}
int ascending(int a,int b)
{
    return b<a;//should swap if b<a;
}
int descending(int a,int b)
{
    return b>a;//should swap if b>a;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章