文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>algorithm(3)——快速排序(quick-sort)的c实现

algorithm(3)——快速排序(quick-sort)的c实现

时间:2010-08-01  来源:runley

/*
 * quick_sort.cpp
 *
 * Created on: 2010-8-1
 * Author: runley
 */

#include <stdio.h>

int sort(int A[],int first_index,int end_index);
int partition(int A[],int first_index,int end_index);
int exchange(int A[],int a,int b);

int main ()
{
    int array[10]={4,6,8,1,7,2,5,10,9,3};
    sort(array,1,10);
    for (int i=0;i<10;i++)
    {
        printf("%d\n",array[i]);
    }
    return 0;
}

int sort(int A[],int first_index,int end_index)
{
    if(first_index<end_index)
    {
        int part_index=partition(A,first_index,end_index);
        sort(A,first_index,part_index-1);
        sort(A,part_index+1,end_index);
    }
    return 0;
}

int partition(int A[],int first_index,int end_index)
{
    int i=first_index;
    int j=first_index;
    for(;j<end_index;j++)
    {
        if(A[j-1]<=A[end_index-1])
        {
            exchange(A,i,j);
            i++;
        }
    }
    exchange(A,i,end_index);
    return i;
}

int exchange(int A[],int a,int b)
{
    int temp;
    temp=A[a-1];
    A[a-1]=A[b-1];
    A[b-1]=temp;
    return 0;
}


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载