当前位置: 首页 > wzjs >正文

网站架构设计师就业指导南宁百度seo软件

网站架构设计师就业指导,南宁百度seo软件,建筑设计公司名称,推荐一个做健身餐的网站文章目录 题目函数接口定义裁判测试程序样例输入样例1输出样例1输入样例2输出样例2 题解解题思路完整代码AC代码 编程练习题目集目录 题目 本题要求实现二分查找算法。 函数接口定义 Position BinarySearch( List L, ElementType X ); 其中 L i s t List List 结构定义如下&…

文章目录

  • 题目
    • 函数接口定义
    • 裁判测试程序样例
    • 输入样例1
    • 输出样例1
    • 输入样例2
    • 输出样例2
  • 题解
    • 解题思路
    • 完整代码
    • AC代码

编程练习题目集目录

题目

  本题要求实现二分查找算法。

函数接口定义

Position BinarySearch( List L, ElementType X );

  其中 L i s t List List 结构定义如下:

typedef int Position;
typedef struct LNode *List;
struct LNode {ElementType Data[MAXSIZE];Position Last; /* 保存线性表中最后一个元素的位置 */
};

   L L L是用户传入的一个线性表,其中 E l e m e n t T y p e ElementType ElementType 元素可以通过 > 、 = = 、 < >、==、< >==< 进行比较,并且题目保证传入的数据是递增有序的。函数 B i n a r y S e a r c h BinarySearch BinarySearch 要查找 X X X D a t a Data Data 中的位置,即数组下标(注意:元素从下标1开始存储)。找到则返回下标,否则返回一个特殊的失败标记 N o t F o u n d NotFound NotFound

裁判测试程序样例

#include <stdio.h>
#include <stdlib.h>#define MAXSIZE 10
#define NotFound 0
typedef int ElementType;typedef int Position;
typedef struct LNode *List;
struct LNode {ElementType Data[MAXSIZE];Position Last; /* 保存线性表中最后一个元素的位置 */
};List ReadInput(); /* 裁判实现,细节不表。元素从下标1开始存储 */
Position BinarySearch( List L, ElementType X );int main()
{List L;ElementType X;Position P;L = ReadInput();scanf("%d", &X);P = BinarySearch( L, X );printf("%d\n", P);return 0;
}/* 你的代码将被嵌在这里 */

输入样例1

5
12 31 55 89 101
31

输出样例1

2

输入样例2

3
26 78 233
31

输出样例2

0

题解

解题思路

  按照二分查找算法的思路对 L i s t List List 中的数据进行查找,具体查找思路可参考:查找算法,如果查找到目标数字,则直接返回其下标,如果没有找到则返回 N o t F o u n d NotFound NotFound (定义为 0 0 0);
  注:为了方便测试及代码完整性,对裁判实现的部分进行了模拟实现(有添加变量)。

完整代码

#include <stdio.h>
#include <stdlib.h>#define MAXSIZE 10
#define NotFound 0
typedef int ElementType;typedef int Position;
typedef struct LNode* List;
struct LNode {ElementType Data[MAXSIZE];Position Last;                                  /* 保存线性表中最后一个元素的位置 */
};int N;
List ReadInput();                                   /* 裁判实现,细节不表。元素从下标1开始存储 */
Position BinarySearch(List L, ElementType X);int main(void)
{List L;Position P;ElementType X;printf("请输入要输入的数字个数:\n");scanf("%d", &N);L = ReadInput();printf("请输入整数要查找的数字:\n");scanf("%d", &X);P = BinarySearch(L, X);printf("%d\n", P);return 0;
}List ReadInput() {                                      // 为了代码完整性,模拟实现 ReadInput() 函数List L = (List)malloc(sizeof(struct LNode));        // 分配内存if (L == NULL) {printf("内存分配失败!\n");exit(1);}L->Last = 0;                                        // 初始化为空表int count = 0;int value;printf("请输入 %d 个整数:\n", N);for (int i = 0; i < N; i++) {scanf("%d", &value);L->Last++;L->Data[L->Last] = value;count++;}if (count == MAXSIZE) {printf("警告:输入数据已达到最大容量 %d,剩余数据将被忽略。\n", MAXSIZE);}return L;
}/* 你的代码将被嵌在这里 */
Position BinarySearch(List L, ElementType X) {int head = 1;int end = L->Last;while (head <= end) {int mid = (head + end) / 2;if (L->Data[mid] == X) {return mid;                         // 找到要查找的数字}else if (L->Data[mid] > X) {end = mid - 1;}else {head = mid + 1;}}return NotFound;                        // 未找到要查找到数字,返回0
}

AC代码

Position BinarySearch(List L, ElementType X) {int head = 1;int end = L->Last;while (head <= end) {int mid = (head + end) / 2;if (L->Data[mid] == X) {return mid;                         // 找到要查找的数字}else if (L->Data[mid] > X) {end = mid - 1;}else {head = mid + 1;}}return NotFound;                        // 未找到要查找到数字,返回0
}
http://www.dtcms.com/wzjs/274269.html

相关文章:

  • 太原网络推广网站杭州百度推广开户
  • 网站布局案例建个网站需要多少钱?
  • 东莞商城网站建设价格seo网站推广多少钱
  • wordpress 插件语言南宁seo专员
  • 网站建设计入什么会计科目数据分析师报考官网
  • 企业网站建设有没有模板临汾网络推广
  • 的品质网站建设他达拉非片和伟哥区别
  • 凡科做视频网站seo自动刷外链工具
  • 无锡 电子商务网站建设seo关键词排名系统
  • 长沙网站建设推广服务优化网站的方法有哪些
  • 汕头网站建设怎样注册自己的网站
  • 建设网站怎么赚钱seo自学网站
  • wordpress 循环输出网站排名优化公司
  • 福建省城乡建设网站全国疫情高峰感染进度
  • 什么网站好看用h5做抖音seo公司
  • 网站权重怎么提升网站优化推广的方法
  • 网站开发工作流程南宁网站建设服务公司
  • 惠州网站制作软件成长电影在线观看免费
  • wordpress网站导航菜单插件seo技术优化服务
  • 昆明网站建设报价seo专员简历
  • 淫秽色情网站境外的网站建设策划书
  • 外贸网站建设价格怎么样进入百度官网
  • html5做图网站百度seo关键词工具
  • 网站怎么做文字禁止复制抖音怎么推广引流
  • 衡水网站建设定制排名优化是怎么做的
  • 做僾免费观看网站软文写作平台发稿
  • 北京通州网站建设南宁百度seo排名优化
  • 台州企业网站排名优化朝阳seo推广
  • 网站前端做出来后台怎么做淘宝怎样优化关键词
  • 政府网站建设申请报告seo发帖软件