标题:这个程序错在那里呢?怎么运行之后没有对数组进行排序?
取消只看楼主
UCU月祭
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2012-11-6
结帖率:50%
 问题点数:0 回复次数:4 
这个程序错在那里呢?怎么运行之后没有对数组进行排序?
#include <iostream>
#include <ctime>
using namespace std;
class kuaisu
{
public:
    void paixu(int p[],int left,int right);
    void getit(int p[])
    {
        for(int i=0;i<10;i++)
            cout<<p[i]<<'\t';
    }
    void fuzhi(int p[]);
    ~kuaisu()
    {
        cout<<"释放完成:"<<endl;
    }
private:
    int p[10];
};
void kuaisu::fuzhi(int p[])
{
    srand(time(0));
    for(int i=0;i<10;i++)
        p[i]=rand()%6775;
}
void kuaisu::paixu(int p[],int left,int right)
{
    int l,r,pivot,temp;
    l=left;r=right;
    pivot=p[(l+r/2)];
    while(r>l)
    {
        if(l<pivot)
            l++;
        if(r>pivot)
            r--;
        if(l>=r)
            break;
    }
    temp=p[l];
    p[l]=p[r];
    p[r]=temp;
    l++;r--;
    if(r>left)
        paixu(p,left,r);
    if(l<right)
        paixu(p,l,right);
}
int maia()
{
    int vn[10];
    kuaisu D;
    D.fuzhi(vn);
    cout<<"排序前:"<<endl;
    D.getit(vn);
    cout<<"排序后:"<<endl;
    D.paixu(vn,0,9);
    D.getit(vn);
    return 0;
}

搜索更多相关主题的帖子: private void include public 
2012-12-15 19:59
UCU月祭
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2012-11-6
得分:0 
回复 2楼 qunxingw
我把那个地方改了,还是一样。。
2012-12-15 22:35
UCU月祭
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2012-11-6
得分:0 
回复 4楼 qunxingw
就是对一个数据进行快速排序。以中间那个数为标杆。。。
2012-12-16 16:51
UCU月祭
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2012-11-6
得分:0 
回复 5楼 qunxingw
我看懂你写的程序了 非常感谢!!   但是我那个程序那里有问题呢? 我的意思是将一个数组的元素运用快速排序法进行排序。以中间那个数为标杆。
2012-12-16 18:12
UCU月祭
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2012-11-6
得分:0 
回复 9楼 qunxingw
嗯嗯。。好吧!! 非常感谢。。
2012-12-17 21:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-391416-1-1.html




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

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