VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 558|回复: 1

[交流] 求解答

[复制链接]
55_avatar_middle
在线会员 发表于 2017-11-3 09:04:20 | 显示全部楼层 |阅读模式
3驿站币
#include<iostream.h>
#include<iomanip.h>
#include<cstdlib>
template<class T>
inline void swap(T &v1,T &v2)
{
        T temp=v2;
        v2=v1;
        v1=temp;
}
template<class T>
void quicksort(T *array,int hi,int lo=0)
{
        while(hi>lo)
        {
                int i=lo;
                int j=hi;
                do
                {
                        while(array[i]<array[lo] && i<j)
                                i++;
                        while(array[--j]>array[lo]);
                        if(i<j)
                                swap(array[i],array[j]);
                }while(i<j);
                swap(array[lo],array[j]);
                if(j-lo>hi-(j+1))
                {
                        quicksort(array,j-1,lo);
                        lo=j+1;
                }
                else
                {
                        quicksort(array,hi,j+1);
                        hi=j-1;
                }
        }
}
int main()
{
        int dim;
        cout<<"How many integers?"<<endl;
        cin>>dim;
        int *arrs=new int [dim+1];
        int i=0;
        for(;i<dim;i++)
                arrs[i]=rand();
        cout<<endl<<"---------------unsorted---------------"<<endl;
        for(i=0;i<dim;i++)
                cout<<setw(8)<<arrs[i];
        quicksort(arrs,dim);
        cout<<endl<<"---------------sorted---------------"<<endl;
        for(i=0;i<dim;i++)
                cout<<setw(8)<<arrs[i];
        delete arrs;
        return 0;
}
这个程序执行quicksort(arrs,dim);具体的过程是怎样的?请大神解答解答





上一篇:MFC中使用WebBrowser2问题
下一篇:IWinHttpRequestPtr 怎么在多线程的情况下共享
75_avatar_middle
在线会员 发表于 2017-11-3 13:55:19 | 显示全部楼层
还是很不错的哈
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-3-23 19:37

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表