| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 478 人关注过本帖
标题:这段程序是不是没有初始化,关于查找的问题
取消只看楼主 加入收藏
熊猫的黑眼圈
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2012-2-19
结帖率:66.67%
收藏
已结贴  问题点数:5 回复次数:1 
这段程序是不是没有初始化,关于查找的问题
#include"stdio.h"
#include"malloc.h"
typedef struct
{
    int t[50];
    int length;
}SSTable;

/*************建立空顺序表*****************/
void Initlist(SSTable l)
{
    //初始化函数
    l.length=0;
}

/************创建顺序表******************/
void Creat(SSTable l)
{
    int i;
    printf("请输入顺序表数据:");
    for(i=0;i<l.length;i++)
        scanf("%d",&(l.t[i]));
    printf("\n");
}

/***************顺序查找法***************/
void Sequential_search(SSTable l,int k)
{
    int i=0;
    l.t[l.length]=k;
    while(l.t[i]!=k)
    {
        printf("第%d个检验的数据是%d\n",i+1,l.t[i]);
        i++;
    }
    if(i==l.length)
    {
        printf("在顺序表中没有查找到您想要的数据\n");
    }
    else
    {
        printf("查找的数据在第%d位上\n",i+1);
    }
}

/**************折半查找算法的实现**************/
void Binary_search(SSTable l,int k)
{
    int low,mid,high;
    low=0;
    high=l.length-1;
    while(low<=high)
    {
        mid=(low+high)/2;
        printf("检测的数据为%d",l.t[mid]);
        if(l.t[mid]=k)
        {
            printf("查找的数据在第%d位上",mid+1);
            break;
        }
        else
            if(l.t[mid]>k)
            {
                high=mid-1;
            }
            else
                low=mid+1;
    }
    if(low>high)
        printf("在顺序表中没有查找到您想要的数据");
}

/**************主函数********************/
void main()
{
    int choose,n=0;
    SSTable l;
    printf("请输入数据个数:");
    scanf("%d",&l.length);
    Initlist(l);
    Creat(l);
    printf("\t\t*******************************\n");
    printf("\t\t     1.顺序查找算法过程\n");
    printf("\t\t     2.折半查找算法过程\n");
    printf("\t\t*******************************\n");
    printf("请选择要进行的查找操作:");
    scanf("%d",&choose);
    if(choose==1)
    {
        printf("请输入要查找的数据:");
        scanf("%d",&n);
        Sequential_search(l,n);
    }
    if(choose==2)
    {
        printf("请输入要查找的数据:");
        scanf("%d",&n);
        Binary_search(l,n);
    }
}
搜索更多相关主题的帖子: void include 
2012-12-21 08:45
熊猫的黑眼圈
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2012-2-19
收藏
得分:0 
有没有哪位大侠看看,在线等着在
2012-12-21 09:07
快速回复:这段程序是不是没有初始化,关于查找的问题
数据加载中...
 
   



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

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