PAT 实验8-1-5 在数组中查找指定元素 (15分)

118 篇文章 42 订阅

本题要求实现一个在数组中查找指定元素的简单函数。

函数接口定义:

int search( int list[], int n, int x );

其中list[]是用户传入的数组;n(≥0)是list[]中元素的个数;x是待查找的元素。如果找到

则函数search返回相应元素的最小下标(下标从0开始),否则返回−1

#include <stdio.h>
#define MAXN 10

int search( int list[], int n, int x );

int main()
{
    int i, index, n, x;
    int a[MAXN];

    scanf("%d", &n);
    for( i = 0; i < n; i++ )
        scanf("%d", &a[i]);
    scanf("%d", &x);
    index = search( a, n, x );
    if( index != -1 )
        printf("index = %d\n", index);
    else
        printf("Not found\n");

    return 0;
}

int search( int list[], int n, int x )
{
    int i = 0 ,flag = 0;

        for(i = 0 ; i < n ; i++)
        {
          if (list[i] == x)
            return i ;

        }
        while((list[i] !=x) || n==0 )
            return -1;

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据结构查找实验代码 (1) 对下列数据表,别采用二查找算法实现查找,给出查找过程依次所比较的元素(的下标),并以二查找的判定树来解释。 第一组测试数据: 数据表为 (1,2,3,4,6,7,8,9,10,11,12,13,17,18,19,20,24,25,26,30,35,40,45,50,,100) 查找元素别为: 2,8,20, 30,50,5,15,33,110 第二组数据: 数据表为 (2,3,5,7,8,10,12,15,18,20,22,25,30,35,40,45,50,55,60, 80,100) 查找元素别为: 22,8,80,3,100,1,13,120 (2) 设计出在二叉排序树中插入结点的算法,在此基础上实现构建二叉排序树的算法。 测试数据:构建二叉排序树的输入序列如下: 第一组数据: 100,150,120,50,70,60,80,170,180,160,110,30,40,35,175 第二组数据: 100,70,60,80,150,120,50,160,30,40,170,180,175,35 (3) 设计算法在二叉排序树中查找指定值的结点。 测试数据:在任务中第一组测试数据所构造的二叉排序树中,查找下列元素150,70,160,190,10,55,175 (4) 设计算法在二叉排序树中删除特定值的结点。 测试数据:在任务(1)中第一组测试数据所构造的二叉排序树中,别删除下列元素:30,150,100 (5) 已知整型数组A[1..26]递增有序,设计算法以构造一棵平衡的二叉排序树来存放该数组中的所有元素。 测试数据:数组元素别为: 第一组数据: (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26) 第二组数据: (1,3,6,10,15,21,28,36,45,55,66,78,91,105,120,136,153,171,190,210,231,253,277,302,328)
这个是我亲手所做的数据结构课程设计,完成了: 实验一 单链表的定义和应用 实验要求: 1.用单链表存储结构定义线性表 2.实现单链表基本操作(5个基本操作:构造,销毁,插入,删除, 取指定数据元素) 3.用单链表实现两个集合的合并或者一元多项式的 实验二 栈的定义和应用 实验要求: 1.定义栈的存储结构和基本操作 2.实现栈的表达式求值(优)和()(良)匹配 实验三 特殊矩阵的压缩存储 实验要求: 能对对称矩阵和对角矩阵进行压缩存储 具体如下: 1. 能用一维数组根据矩阵中非零元素进行压缩存储 2. 能根据非零元素和对于重复元素只输入一次时要求能够构造出矩阵 3. 输入任意合法的行列下标能够得到它在矩阵中对应的值 4. 能够把矩阵用完整的格式加以输出 5. 要求矩阵阶数(>=4)阶 实验四 二叉树的遍历 实验要求: 1.能够用二叉链表定义一个二叉树存储结构 2.能够实现二叉树的构造,销毁,先序,中序,后序遍历 3.能够实现一个基于二叉树遍历实现一个算法操作 4.实验过程中应用递归 实验五 图的应用 实验要求: 1.用邻接矩阵或者邻接表定义图的应用 2.实现图的基本操作: 构造,销毁 广度,深度优先搜索 图的打印 3.图的应用: 最小生成树 有向无环图的拓扑排序 有向无环图的关键路径 注意:图的应用中是实现三个操作的任意一个实验查找 实验要求: 1.定义一个顺序存储的有序表 2.有序表折半查找 对给出查找结果的同时,输出查找过程中和关键字比较的次数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值