码迷,mamicode.com
首页 > 编程语言 > 详细

冒泡排序法(一般实现和优化)

时间:2017-09-22 22:32:09      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:else   log   其他   wap   col   clu   stream   需要   i++   

#include<iostream>
using namespace std;
#include<vector>
#include "Vector.h"

void bubblesort1(int * num ,int lo, int hi)
{
    for (int i = 0; i <= hi - lo; i++)
    {
        for (int j = i + 1; j <= hi - lo; j++)
        {
            if (num[i] > num[j])
                swap(num[i], num[j]);
        }
    }
}
void bubblesort_better(int * num, int lo, int hi)
{
    int lo1 = lo;
    while (lo1 < hi) {
        int n=0;
        while (++lo1 <= hi) {
            if (num[lo1 - 1] > num[lo1]) {
                swap(num[lo1 - 1], num[lo1]);
                n = lo1;
            }
        }
        if (n != 0) {
            hi = lo1 -1;
            lo1 = lo;
        } 
        else {
            hi--;
            lo1 = lo;
        } 
    }
}

int main()
{
    int v1[10] = {1,2,3,0,9,8,7,6,5,4};
    bubblesort_better(v1, 0,9);
    for (int i = 0; i < 10; i++)
    {
        cout << v1[i]<< endl;
    }


    system("pause");
}

在排序的时候,要想已经排过的或者其他的顺序的 是否还需要进行在经过算法排序,不需要的话,怎么办来避免?-

冒泡排序法(一般实现和优化)

标签:else   log   其他   wap   col   clu   stream   需要   i++   

原文地址:http://www.cnblogs.com/xiaochige/p/7577256.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!