文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>插入排序、希尔排序、快速排序

插入排序、希尔排序、快速排序

时间:2010-08-14  来源:apple_zhangwei

插入排序
void InsertSort(int *p,int len)
{
     int i;
     int j;
     int tmp;
     for(i=1;i<len;i++)
     {
     if(a[i-1]>a[i])
         {
              tmp=a[i];
              a[i]=a[i-1];
              for(j=i-2;(j!=-1)&&a[j]>tmp;j--)
                    a[j+1]=a[j];
              a[j+1]=tmp;
         }
     }
}

希尔排序
int dt[]={3,2,1};
void shellsort(int *p,int d,int len)
{
     int i;
     int tmp;
     int j;
     for(i=d;i<len;i++)
         {
             if(p[i-d]>p[i])
                 {
                     tmp=p[i];
                     p[i]=p[i-d];
                     for(j=(i-2*d);(j>=0)&&p[j]>tmp;j-=d)
                            p[j+d]=p[j];
                     p[j+d]=tmp;
                 }
         }
}

快速排序
void QuickSort(int *p,int low,int high)
{
     int pivc;
     if(low<high)
         {
             pivc=Partition(p,low,high);
             QuickSort(p,low,pivc-1);
             QuickSort(p,pivc+1,high);
         }
}
int Partition(int *p,int low,int high)
{
    int tmp=p[low];
    while(low<high)
    {
        while((low<high)&&(p[high]>=tmp)) --high;
        p[low]=p[high];
        while((low<high)&&(p[low]<=tmp)) ++low;
        p[high]=p[low];
    }
    p[low]=tmp;
    return low;
}

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

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载