中易网

用C语言实现一个代码,主函数是生成n个数,并调用函数实现排序跟二分查找

答案:1  悬赏:60  
解决时间 2021-02-16 17:06
用C语言实现一个代码,主函数是生成n个数,并调用函数实现排序跟二分查找
最佳答案
//使用quicksort算法进行排序,BinarySearch算法搜索

#include 

int quick(int* a,int l,int r)             
{
    int temp=a[l];
   while(l    {
     while(a[r]>=temp&&l         r--;
    a[l]=a[r];
    while(a[l]         l++;
    a[r]=a[l];
   }
   a[l]=temp;
   return l;
}

void quicksort(int* a,int l,int r)
{
    int mid;
    if(l     {
        mid=quick(a,l,r);
        quicksort(a,l,mid);
        quicksort(a,mid+1,r);
    }
}

int BinarySearch(int* a,int l,int r,int key)
{
    int mid;
    while(l<=r)
    {
        mid=(l+r)/2;
        if(keya[mid])
            l=mid+1;
        else
            return mid;
    }
    return -2;
}
int main()
{
    int n,key,i;
    int a[100];
    scanf("%d",&n);
    for(i=0;i         scanf("%d",&a[i]);
    quicksort(a,0,n-1);
    printf("排序后:\n");
    for(i=0;i         printf("%d ",a[i]);
    printf("\n输入查找的关键字:");
    scanf("%d",&key);
    printf("位置第%d处",BinarySearch(a,0,n-1,key)+1);
    return 0;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
中意饭店这个地址在什么地方,我要处理点事
覆盆子葡萄思慕雪怎么做
有关春天的景物的描写
馨悦幼儿园地址在哪,我要去那里办事
身首分离后多久人会失去意识
东耀面粉厂怎么去啊,有知道地址的么
一个圆柱体,底面直径和高都是6厘米.它的侧面
六郎客运站这个地址在什么地方,我要处理点事
天气热会引起大脑供血不足吗
求能分享文章的阅读app。
河南天恒装饰在什么地方啊,我要过去处理事情
我是二婚,我老婆是初婚怎么样发朋友圈请客
装饰公司管理模式可以分为哪几种?具体的理论
高玉海大型纸火花圈店在什么地方啊,我要过去
在3d3s中为是么说平面内就是绕3 轴,平面外就
推荐资讯
(2)一件60元的商品,现在按51元售出,也就是
什么是盘龙纹小金刚
九江天马国际旅行社公司在什么地方啊,我要过
服装常用的布料有几种,之间有什么区别?
老公生日朋友圈如何写
鹅一品扬州老鹅专卖店(泰兴荷花池五福店)我想
请问如何做月球绕地球,地球又绕太阳的FLASH
2T的磁力吊哪个牌子的好
南开大学药物化学研究生复试考什么科目
纸黄金的上线买.破线卖是什么意思
天蝎座的男生与处女座女生恋爱合适吗?
小米2s怎么关闭自动升级软件功能??
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?