美文网首页
冒泡排序

冒泡排序

作者: SetsunaChiya | 来源:发表于2017-01-01 23:12 被阅读0次

冒泡排序的三种版本

初始版本

void Sort::BubbleSort_1() {
    reset();
    for(int i = 0; i < sorted.size(); i++) {
        for(int j = sorted.size()-1; j > i; j--) {
            compareTimes++;
            if(sorted[j]<sorted[j-1]) { swap(sorted[j-1], sorted[j]); moveTimes+=3; }
        }
    }
}

版本2

void Sort::BubbleSort_2() {
    reset();
    bool isSorted = true;
    for(int i = 0; i < sorted.size(); i++) {
        for(int j = sorted.size()-1; j > i; j--) {
            compareTimes++;
            if(sorted[j]<sorted[j-1]) { swap(sorted[j-1], sorted[j]); isSorted = false; moveTimes+=3; }
        }
        if(isSorted) break;
        else isSorted = true;
    }
}

版本3

相关文章

网友评论

      本文标题:冒泡排序

      本文链接:https://www.haomeiwen.com/subject/nmqmvttx.html