排序-->冒泡排序算法

来源:互联网 发布:mac怎么设置无线鼠标 编辑:程序博客网 时间:2024/06/18 07:56


思想:相邻的数据进行比较,每次将最大的沉到最低(当前),或者将最小的浮到最前面(当前)
话不多说,直接上代码

#include<iostream>#include <time.h>using namespace std;//冒泡void BubbleSort(int *arr,int len){    bool flg;    for(int i=0;i<len-1;i++)    {        flg = false;        for(int j=0;j<len-1-i;j++)        {            if(arr[j] > arr[j+1])            {                int tmp = arr[j];                arr[j] = arr[j+1];                arr[j+1] = tmp;                flg = true;            }        }        if(!flg)        {            return ;        }    }}int main(){    int *p = (int*)malloc(100000*sizeof(int));    for(int i=0;i<100000;i++)    {        p[i]= rand();     }    clock_t start,finish;    double time;    start = clock();    BubbleSort(p,100000);    finish = clock();    time = double(finish-start);    printf("所耗时间为%f",time);}//耗时34810ms  = 34秒

优化几乎不起作用。