顺序链表的实现和链表查询的实现

//程序实现链表的创建,链表的查询功能

//create()方法实现了顺序链表的创建,并调用链表查询模块的find()方法

//find()方法实现顺序链表的查询

#include <stdio.h>

#define maxsize 100  //定义一个数组的长度

//定义一个连续数组Sqlist

typedef struct Sqlist{

    int date [maxsize];

    int length;

}Sqlist;


//查看数组中是否有数字x

//如果有,返回在数组的位置,如果没有,则返回0

int find(Sqlist l,int x){

    int j;

    int k = 0;

    for ( j= 1; j<=l.length; ++j){

        if (x==l.date[j]){

            k= j;

        }

        else

            k=0;

    }

    return k;

}




//创建一个顺序链表

//一个数组对应一个指针,指针保存在这个方法中,并不能

//继续使用

void create(Sqlist l){

    int ll;  //顺序链表的长度

    printf("输入链表的长度:\n");

    scanf("%d",&ll);

    l.length = ll;

    

    

//    建立一个顺序链表

    for (int i =1;i<= l.length; i++) {

        printf("请输入第%d个数字:",i);

        scanf("%d",&l.date[i]);

    }

    

//对顺序链表进行查找,查找是否存在一个数值X

//在顺序链表中

    int x;

    printf("请输入一个数字x");

    scanf("%d",&x);

    

//调用查找方法find()

    int k = find(l, x);

    if (k==0) {

        printf("没有这个数字");

    }

    else

        printf("这个数字在数组的位置%d\n",k);

    

}

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

{

    

//    定义一个顺序数组

    Sqlist l;

//    调用函数

    create(l);


    printf("Hello, World!\n");

    return 0;

}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值