sort

作者: fo0Old | 来源:发表于2017-06-01 00:30 被阅读0次

bubble_sort:

void bubble_sort(int a[],int n)
{
    for(int i=1; i<=n-1; i++)
        for(int j=i; j<=n; j++)
            if(a[i]>a[j])swap(a[i],a[j]);
}

select_sort:

void select_sort(int a[],int n)
{
    for(int i=1;i<=n;i++)
    {
        int minn=i;
        for(int j=i+1;j<=n;j++)
            if(a[j]<a[minn])minn=j;
        swap(a[i],a[minn]);
    }
}

insert_sort:

void insert_sort(int a[],int n)
{
    for(int i=2; i<=n; i++)
    {
        int t=a[i],j;
        for(j=i; j>=2&&a[j-1]>t; j--)
            a[j]=a[j-1];
        a[j]=t;
    }
}

merge_sort:

int t[100005];
void merge_sort(int st,int ed,int a[],int t[])
{
    int mid=(st+ed)/2;
    if(st!=mid)merge_sort(st,mid,a,t);
    if(mid+1!=ed)merge_sort(mid+1,ed,a,t);
    int x=st,y=mid+1,k=st;
    while(x<=mid&&y<=ed)
        if(a[x]<a[y])t[k++]=a[x++];
        else t[k++]=a[y++];
    while(x<=mid)t[k++]=a[x++];
    while(y<=ed)t[k++]=a[y++];
    for(int i=st; i<=ed; i++)
        a[i]=t[i];
}

quick_sort:

void quick_sort(int a[],int l,int r)
{
    if(l>=r)return;
    int x=rand()%(r-l+1)+l;
    int mid=(l+r)>>1;
    swap(a[x],a[r]);
    int i=l,j=r-1;
    while(1)
    {
        while(a[i]<a[r])i++;
        while(a[j]>a[r])j--;
        if(j<i)break;
        swap(a[i++],a[j--]);
    }
    swap(a[i],a[r]);
    quick_sort(a,l,i-1);
    quick_sort(a,i,r);
}

相关文章

  • Algorithms

    BinarySearch Sort Selection sort Insertion sort

  • 笔记

    分页查询排序 Sort sort = new Sort(Sort.Direction.DESC, "id");Pa...

  • sort

    bubble_sort: select_sort: insert_sort: merge_sort: quick_...

  • Sort of sort

    排序算法 定义 对一序列对象根据某个关键字进行排序 评判标准 稳定:如果a原本在b前面,而a=b,排序之后a仍然在...

  • sorting algorithoms

    Bubble Sort Selection Sort Insertion Sort search : O(n) o...

  • 二维数组排序

    $sort = array( 'direction' => 'SORT_ASC', //排序顺序标志 SORT...

  • python中sort与sorted的区别

    1 sort sort是python中列表的方法 1.1 sort() 方法语法 list.sort(key=No...

  • Leetcode 215. Kth Largest Elemen

    Approach 1: sort sort the array using merge sort (n log n...

  • algorithm库介绍之---- stable_sort()方

    关于stable_sort()和sort()的区别: 你发现有sort和stable_sort,还有 partit...

  • insertion sort

    insertion sort用来sort基本sort好的序列,时间是O(n)

网友评论

      本文标题:sort

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