| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1529 人关注过本帖
标题:求助,谁帮忙给我讲解一下这个程序
取消只看楼主 加入收藏
fuq349996693
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-3-11
结帖率:0
收藏
 问题点数:0 回复次数:0 
求助,谁帮忙给我讲解一下这个程序
#include  <stdio.h>
#include  <time.h>
#include  <stdlib.h>  
void RandomizedPartition(int *data,int x,int y,int *temp)           // 这个函数看不懂。帮忙讲解一下。
{  
    int p,q,m,i=x;
    if(y-x>1)
    {  
        m  =  x+(y-x)/2;
        p  =  x;
        q  =  m;  
        RandomizedPartition(data,x,m,temp);
        RandomizedPartition(data,m,y,temp);
        while
            (p<m||q<y)
        {  
            if
                (q>=y||(p<m&&data[p]<data[q]))
            {  
                temp[i++]  =  data[p++];
            }
            else
               
            {  
                temp[i++]  =  data[q++];
            }
        }  
        
        for
            (i=x;i<y;i++)
            data[i]  =  temp[i];
    }
}
void QuickSort(int *data,int x,int y)
{  
    int    p=x,q=y-1,temp;
    while
        (p<q)
    {  
        while
            (q>p&&data[q]>=data[p])
            q--;
        if(q>p)
        {  
            temp  =  data[p],data[p]  =  data[q],data[q]  =temp;
            p++;
        }  
        while
            (q>p&&data[p]<=data[q])
            p++;
        if
            (p<q)
        {  
            temp  =  data[p],data[p]  =  data[q],data[q]  =temp;
            q--;
        }  
        if
            (p==q)
        {  
            QuickSort(data,x,p);
            QuickSort(data,p+1,y);
        }
    }
}  
int main()
{  
    int data[10],i;
    int temp[10];
    srand(time(NULL));        
    for
        (i=0;i<10;i++)
    {  
        data[i]  =  rand()%100;
    }
    printf("排序之前:");
    for
        (i=0;i<10;i++)
    {  
        printf("%d  ",data[i]);
    }  
    printf("\n");  
    QuickSort(data,0,10);
    printf("排序之后:");
    for
        (i=0;i<10;i++)
    {  
        printf("%d  ",data[i]);
    }  
    printf("\n");
}  
搜索更多相关主题的帖子: include 
2016-03-25 09:41
快速回复:求助,谁帮忙给我讲解一下这个程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015878 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved