| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 840 人关注过本帖
标题:任意输入一个数组,再用二分法查找一个数字
只看楼主 加入收藏
月下长相依
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2014-12-18
结帖率:60%
收藏
 问题点数:0 回复次数:5 
任意输入一个数组,再用二分法查找一个数字
求代码
搜索更多相关主题的帖子: 二分法 
2014-12-28 13:16
xufan
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:232
专家分:804
注 册:2008-10-20
收藏
得分:0 
二分法查找关键字,需要关键字序列有序才行。如果你任意输入, 只能先排序, 然后在查找。

~~~~~~我的明天我知道~~~。
2014-12-29 13:46
月下长相依
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2014-12-18
收藏
得分:0 
回复 2楼 xufan
那要任意输入一对数组然后用冒泡排序要怎么写呢
2014-12-29 16:10
xufan
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:232
专家分:804
注 册:2008-10-20
收藏
得分:0 
程序代码:
for (int i = 0; i < n - 1; ++i)
    for(int j = 0; j < n - i -1; ++j)
{
    if (a[j] > a[j + 1]) //ASC
    {
    }
}

~~~~~~我的明天我知道~~~。
2014-12-29 16:17
woaiwm
Rank: 2
等 级:论坛游民
帖 子:7
专家分:28
注 册:2014-12-15
收藏
得分:0 
#include<stdio.h>
int main()
{
    int x,a[15]={100,90,80,70,60,58,65,60,22,33,66,55,20,10,6};
    int left,right,mid,flag=0,x;
    printf("请输入带查找的数:\n");
    scanf("%d",&x);
    left=0;
    right=14;
    while(left<=right)
    {
        mid=(left+right)/2;
        if(x==a[mid])
        {
            flag=1;
            break;
        }
        else if(x>a[mid])
        {
            right=mid-1;
        }
        else
        {
            left=mid+1;
        }
    }
    if(flag==1)
    {
        printf("找到了,是第%d个数\n",mid+1);
    }
    else
    {
        printf("无此数!\n");
    }
   return 0;
}
2014-12-31 21:34
xp0213
Rank: 7Rank: 7Rank: 7
来 自:湖北武汉
等 级:黑侠
威 望:1
帖 子:222
专家分:524
注 册:2011-10-26
收藏
得分:0 
这样没有思考的,建议不要贴上代码。
写的不对不要紧,学习是有一个过程的,都是从不会到会的。
自己不去动手写,那么永远提高不了
2014-12-31 22:09
快速回复:任意输入一个数组,再用二分法查找一个数字
数据加载中...
 
   



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

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