C++算法
菠萝印象威
保持学习的习惯,保持乐观的态度。
展开
-
C++算法基础(5)--递归算法详解
本篇文章主要讲解算法基础中的重要算法之一递归算法一.递归算法简介1.定义递归算法指一种通过重复将问题分解为同类的子问题而解决问题的方法。或者说递归算法是一种直接或者间接地调用自身的算法。简单来说就是一个方法中会重复调用该方法解决问题,直到满足基础部分的条件而输出终止的算法。2.特点(1).递归就是在过程或函数里调用自身。(2).使用递归算法必须有一个明确的递归结束条件,即递归出口。(重要)3.递归算法的优缺点优点:使用递归算法,代码更加简洁,程序自动在方法中调用方法,不需要额外大量代码。缺原创 2020-12-27 22:21:08 · 6244 阅读 · 0 评论 -
C++算法基础(4)--数组元素反转算法
本篇文章继续来讲解算法知识,今天要讲的是将数组元素反转的算法,虽然已经有现成的封装函数,但是,理解其思想还是有必要的。一.问题需求输入一组数字,将这组数字的位置反转。举例:输入123,结果得到321二.代码实现int main(){ int a[10]={0}; int n; int temp; int i; cout<<"请输入数组大小:"<<endl; scanf("%d",&n); cout<<"请输入数组元素:"<<原创 2020-12-25 23:31:25 · 2065 阅读 · 0 评论 -
C++算法基础(3)--电梯时间算法
今天在逛Blink时,有人私信问了一道题,我觉得这道题很值得学习,于是就研究并记录了下来。一.题目描述某栋楼只有一部电梯,当你按下一个数时,电梯就会运行到那一层。已知电梯上一层需要6s,下降一层需要4s,在需要停留的那层停留5s。现在,电梯里有若干人,每个人都有去不同楼层的可能性,请问,电梯在完成最后一人的请求后,一共花了多少时间。二.解题思路1.首先,我们需要了解电梯中的人按了多少次不同的楼层请求。2.这些不同的请求是哪些楼层。3.分别写出上楼和下楼所需时间函数。int main(){原创 2020-12-16 23:19:06 · 1648 阅读 · 0 评论 -
C++算法基础(2)--冒泡排序,我说我讲的你都能理解。
本篇文章主要讲解C++排序算法中的冒泡排序(Bubble Sort)。一.冒泡排序简介1.定义顾名思义,冒泡排序意思是就像泡泡一样从底层通过两两相邻的元素交换位置上升到最顶层,其实,冒泡排序可以称作"交换排序"。2.原理1).根据一个序列,比较两个元素,如果顺序不对就交换(由大到小或者由小到大)。2).依次遍历n个点,一次找出一个最大(最小)值,进行n次,完成排序。总结:冒泡排序就是通过两两相邻元素进行比较,每一轮找出最小或者最大值,然后循环n轮,结束排序。二.冒泡排序实例演示void P原创 2020-12-14 23:40:05 · 592 阅读 · 0 评论 -
C++算法基础(1)--选择排序详细讲解
算法是我们需要掌握的重要基础之一,本篇文章将开启算法系列文章,学好算法的一个重要方法就是积累,希望此系列可以积累越来越多的算法文章。本篇文章主要讲解C/C++中的排序算法–冒泡排序(Bubble Sort)。一.冒泡排序简介1.算法原理在学好一个算法之前,我们需要理解其原理。冒泡排序算法的原理是以下几个:1).比较相邻的元素。如果第一个比第二个大,就交换他们两个。2).对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。最后的元素应该会是最大的数。3).对所有的元素重复以上的步骤,除原创 2020-12-13 20:52:43 · 3744 阅读 · 0 评论