算法与竞赛(第3章) - C++与算法基础二

第1关:二分查找:在N个无序整数里面查找M个指定整数

为了完成本关任务,你需要掌握:1.解题思路,2.快速排序算法,3.二分查找算法。

//
//  main.cpp
//  step1
//
//  Created by ljpc on 2018/7/8.
//  Copyright © 2018年 ljpc. All rights reserved.
//

#include <iostream>
#include <algorithm>

using namespace std;

i
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
算法竞赛(第6) - c 与stl基础:栈stack与前中后缀表达式的应用 在竞赛中,算法和数据结构是非常重要的。栈(stack)是一种常用的数据结构,具有先进后出(LIFO)的特性,它在解决一些问题时具有很大的帮助。 栈在数学表达式计算中有广泛的应用。一个常见的应用是将中缀表达式转换为后缀表达式,这样可以更方便地进行计算。中缀表达式是我们通常使用的表达式形式,例如 2 + 3 * 4。而后缀表达式是一种更加简洁的表达式形式,例如 2 3 4 * +。 转换过程中,我们使用到了栈。我们按照运算符的优先级依次扫描中缀表达式的每个元素,如果是操作数,就直接输出到后缀表达式中;如果是运算符,则将其与栈顶元素进行比较,如果优先级大于等于栈顶元素,则将其入栈,否则将栈顶元素出栈并输出到后缀表达式中,然后再将当前运算符入栈。最后,将栈中剩余的运算符依次出栈并输出到后缀表达式中。 转换完成后,我们可以使用栈来计算后缀表达式。遍历后缀表达式的每个元素,如果是操作数,则将其入栈;如果是运算符,则将栈顶的两个元素出栈并进行相应的运算,然后将结果入栈。最后,栈中的元素即为计算后的结果。 除了中缀转后缀表达式之外,栈还有其他的应用。例如,我们可以使用栈判断一个括号序列是否合法。当遇到左括号时,就将其入栈,当遇到右括号时,就将其与栈顶的元素进行匹配,如果匹配成功,则将栈顶元素出栈,否则,表示括号序列不合法。 总的来说,栈是一个非常常用的数据结构,有广泛的应用。在竞赛中,熟练掌握栈的方法和技巧,能够帮助我们更好地解决一些问题,提高编程的效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ssaty.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值