爱学编程的灌硒 2022-01-07 15:36 采纳率: 93.3%
浏览 21
已结题

想编写qsort函数的原理,现在遇到了下面的报错

如何用c++语言写qsort函数原理呢
#include
using namespace std;

int cmpint(const void *a,const void *b){
return *(int *)a- *(int *)b ;
}

int cmpchar(const void *a,const void *b){
return *(char *)a- *(char *)b ;
}

void mysort(void p1,int num,int length,int(p2)(const void,const void)){
for(int i=0;i<num-1;i++){
void temp=p1[i];
p2(p1[i],p1[i+1])>0?p1[i+1]=p1[i],p1[i]=temp:p1[i]=temp;
}
}

int main ()
{ int a[10] = {0, 5, 12, 3, 4 ,1,7,6,9,8 };
mysort(a, 10, sizeof(int) , cmpint);
for (int i = 0; i <10; i++)
{ cout<<a[i]<<" ";
}
cout<<endl;

char b[7] = {'e', 'g', 'a', 'f', 'b', 'd','c'    };
mysort(b, 7, sizeof(char) ,  cmpchar);
for (int i = 0; i <7; i++)
{  cout<<b[i]<<" ";
}
return 0;

}

  • 写回答

1条回答 默认 最新

  • fuill 2022-01-07 23:51
    关注

    img

    
    #include <iostream>
    using namespace std;
    void mysort(int p[],int num)
    {
        for(int j=0; j<num-1; j++)
        {
            for(int i=0; i<num-1-j; i++)
            {
                if(p[i]>p[i+1])
                {
                    int tem=p[i];
                    p[i]=p[i+1];
                    p[i+1]=tem;
                }
            }
        }
    }
    void mysort2(char p[],int num)
    {
        for(int j=0; j<num-1; j++)
        {
            for(int i=0; i<num-1-j; i++)
            {
                if(p[i]>p[i+1])
                {
                    int tem=p[i];
                    p[i]=p[i+1];
                    p[i+1]=tem;
                }
            }
        }
    }
    int main ()
    {
        int a[10] = {0, 5, 12, 3, 4,1,7,6,9,8 };
        mysort(a, 10);
        for (int i = 0; i <10; i++)
        {   cout<<a[i]<<" ";
        }
        cout<<endl;
    
        char b[7] = {'e', 'g', 'a', 'f', 'b', 'd','c' };
        mysort2(b, 7);
        for (int i = 0; i <7; i++)
        {   
        cout<<b[i]<<" ";
    
        }
        return 0;
    
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月16日
  • 已采纳回答 1月8日
  • 创建了问题 1月7日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么