数据结构基础 排序

来源:互联网 发布:sqlserver存储过程if 编辑:程序博客网 时间:2024/05/17 22:53

冒泡排序

//l为元素个数void Bubble_Sort(int *a,int l){    //记录,如果有序就不必再继续操作    bool change=true;    for(int i=0;i<l&&change;i++)    {        change=false;        for(int j=0;j<l-1;j++)        {            if(a[j]>a[j+1])            {                swap(a[j],a[j+1]);                change=true;            }        }    }}

快速排序

//快速排序 s为首元素下标,e为尾元素下标void quick_sort(int n[],int s,int e){    if(s>=e) return;    int i=s,j=e,x=n[s];    //一趟快速排序    while(i<j)    {        //从右往左找第一个小于x的        while(i<j&&n[j]>=x)        {            j--;        }        if(i<j)        {            n[i++]=n[j];        }        //从左往右找第一个大于x的        while(i<j&&n[i]<=x)        {            i++;        }        if(i<j)        {            n[j--]=n[i];        }    }    n[i]=x;    quick_sort(n,s,i-1);    quick_sort(n,i+1,e);}


原创粉丝点击