数据结构——顺序查找

顺序查找是最简单,最不常用的方法。

其基本思想是:从表的一端开始,依次将每个元素的关键字进行比较, 时间度比较复杂。


#include <stdio.h>

#define LISZTSIZE 150

typedef int  Datatype;

struct List

{

    Datatype data [LISZTSIZE];

    int nLength;

};

void init(struct List *l);

void Length(struct List *l);

void Get(struct List *g,Datatype x);

int main(int argc, const char * argv[])

{

    //4.1顺序查找

    /*一表长为100的顺序线性存储表,要求使用顺序查找分别查找第949 99个元素输出。

     */

    struct List arr;

    init(&arr);

    Length(&arr);

    int x;

    printf("请输入要查找的元素:");

    scanf("%d",&x);

    Get(&arr, x);

    getchar();

    printf("请再输入要查找的元素:");

    scanf("%d",&x);

    Get(&arr, x);

    getchar();

    printf("请再输入要查找的元素:");

    scanf("%d",&x);

    Get(&arr, x);

    

    

    

    

    return 0;

}


void init(struct List *l)//初始化表长

{

    l->nLength=0;


}


void Length(struct List *l)//求表长

{

    int number;

    printf("请输入表长<150:\n");

    scanf("%d",&number);

    l->nLength=number;

    int num=1;

    for (int i=0; i<number; i++)

    {

        l->data[i]=num;

        num++;

    }

    for (int i=0; i<number; i++)

    {

        printf("%d\t",l->data[i]);

    }

    printf("\n");

}

void Get(struct List *g,Datatype x)//顺序查找。

{

    if (g->nLength==0)

    {

        printf("表长为空");

    }

    

    for (int i=0; i<g->nLength; i++)

    {

        if (g->data[i]==x)

        {

            printf("x=%d在线性表的位置:%d\n",x,i);

        }

    }

    


}



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值