爱学编程的灌硒 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 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀