8610 顺序查找

devtools/2024/9/29 13:06:06/

### 思路
1. **创建顺序表**:从输入中读取元素个数和元素值,构造顺序表。
2. **顺序查找**:在顺序表中依次查找关键字,找到则返回位置,否则返回0。

### 伪代码
1. **创建顺序表**:
   - 动态分配存储空间。
   - 从输入中读取元素值并存储在顺序表中。
2. **顺序查找**:
   - 遍历顺序表,比较每个元素与关键字。
   - 如果找到,返回元素位置。
   - 如果未找到,返回0。

### C++代码
 

#include "malloc.h" /* malloc()等 */ 
#include "stdio.h"
#include "stdlib.h"typedef int ElemType; 
typedef struct /*静态查找表的顺序存储结构 */ 
{ ElemType *elem; /* 数据元素存储空间基址,建表时按实际长度分配,0号单元留空 */ int length; /* 表长度 */ 
} SSTable; void Creat_Seq(SSTable &ST, int n) 
{ int i, temp; ST.elem = (ElemType *)malloc((n + 1) * sizeof(ElemType)); /* 动态生成n个数据元素空间(0号单元不用) */ if (!(ST).elem) {printf("ERROR\n");exit(0);} /*内存分配失败结束程序*/ for (i = 1; i <= n; i++) { scanf("%d", &temp); *(ST.elem + i) = temp; /* 依次赋值给ST */ } ST.length = n; 
} int Search_Seq(SSTable &ST, ElemType key) 
{ for (int i = 1; i <= ST.length; i++) { if (ST.elem[i] == key) return i; } return 0; 
} int main() 
{ SSTable ST; int loc, key; int n; scanf("%d", &n); Creat_Seq(ST, n); scanf("%d", &key); loc = Search_Seq(ST, key); if (loc != 0) printf("The element position is %d.\n", loc); else printf("The element is not exist.\n"); return 0;
}

### 总结
1. **创建顺序表**:动态分配存储空间,读取元素值并存储。
2. **顺序查找**:遍历顺序表,比较每个元素与关键字,找到则返回位置,否则返回0。


http://www.ppmy.cn/devtools/118692.html

相关文章

游戏开发2025年最新版——八股文面试题(unity,虚幻,cocos都适用)

1.静态合批与动态合批的原理是什么&#xff1f;有什么限制条件&#xff1f;为什么&#xff1f;对CPU和GPU产生的影响分别是什么&#xff1f; 原理&#xff1a;Unity运行时可以将一些物体进行合并&#xff0c;从而用一个描绘调用来渲染他们&#xff0c;就是一个drawcall批次。 限…

PyCharm 的安装和配置

环境要求&#xff1a; OS&#xff1a;Windows / macOS / Linux (此处使用 Windows 10 进行演示)Python&#xff1a;包括但不限于 Anaconda&#xff0c;miniconda&#xff0c;Python。在 Windows 下只要能找到 python.exe 即可 Download 进入 PyCharm 官网&#xff0c;选择对…

TypeError: unsupported operand type(s) for +=: ‘Dense‘ and ‘str‘

tensorflow2.0报这个错误 因为你在定义模型的时候 model Sequential(SimpleRNN(3),Dense(5, activationsoftmax) )是不是感觉少了点什么&#xff0c;没加[] model Sequential([SimpleRNN(3),Dense(5, activationsoftmax)] )

C# winforms 使用菜单和右键菜单

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…

从零开始的软件开发详解:数字药店系统源码与医保购药APP

很多小伙伴们疑问&#xff0c;医保购药APP是如何开发的&#xff0c;今天我将从零数字药店系统源码开始为大家提供一条清晰的实现方案。 一、技术架构设计 在开发医保购药APP之前&#xff0c;首先需要明确技术架构。一般来说&#xff0c;APP的技术架构可以分为前端和后端。 1…

HTTP 重定向:301 与 308 的区别

在Web开发中,HTTP 重定向是非常常见的一种操作。当我们需要将用户从一个URL自动引导到另一个URL时,HTTP重定向就起到了关键的作用。最常见的重定向状态码有301 Moved Permanently和308 Permanent Redirect。它们之间的差别不仅仅体现在行为上,也影响了请求方法的处理,进而影…

平衡操控使用场景分析和对低延迟的直播技术要求

平衡操控使用场景 好多开发者对平衡操控的使用场景不太了解&#xff0c;简单来说&#xff0c;平衡操控是一种对物体或系统的平衡状态进行精确控制和调节的技术领域&#xff0c;主要使用场景如下&#xff1a; 工业自动化领域&#xff1a; 远程设备监控与操作&#xff1a;工厂内…

CSS 的pointer-events属性,控制元素如何响应用户指针事件

CSS中的pointer-events属性是一个用于控制元素如何响应用户指针事件(如鼠标点击、触摸等)的重要属性。这个属性可以应用于任何HTML元素,以决定元素是否能够捕获和响应用户的交互事件。以下是关于pointer-events属性的详细解析: 属性值 pointer-events属性具有多个可能的值…