FOR循环精讲

> 1.初步结识

for是写出题的重要组成部分之一,每个题如果没有for循环根本是无法做出来的,可见for循环在c++语言中是有多么重要,那么for的格式是怎样的呢??

for(控制变量初始化表达式;条件表达式;增量表达式){

...;

} 通过以上简单的for结构我们可看出,for循环的结构由三部分构成,其中决定着for执行条件的是中间的条件表达式(这三个构成是不可以调换位置的),我们知道,在条件表达式的判断中,真则为“1”,假则为“0”,那么如果我们把条件表达式的值一直设为“1”,循环是会变成一个死循环的,我们可以利用这一点,把for当成while用(在下面我会提到);那为何for循环在通常情况下不是死循环呢?

一般情况下的for循环:

for(int i=1;i<=n;i++){

...;

} 通过以上我们可看出,在i的值不断变换之下,“i<=n”这个条件会逐渐变为假,所以for循化就会终止下去

> 2.时间复杂度

一般入门者刚刚开始对时间复杂度是没有一个较为完整体系的认识的,那么什么是时间复杂度呢??

时间复杂度简单来说就是我们这个程序运行一组数据所需要的时间,而在做题过程中,我们用到for了就少不了时间复杂度;在计算机中,你让它循环1000万次它也不拍,但如果你让它循环1亿次的话...

那么一个for循环的时间复杂度到底为多少呢??

我们假设for它循化一次的时间为“1”,那我们做用代码来做一下实验:

1)一重循环

#include<iostream>
using namespace std;
int main(){
int m=0;
for(int i=1;i<=100;i++){
m+=1;
}
cout<<m;
return 0;
}

最终结果为100 时间复杂度为o

2)两重循环

#include<iostream>
using namespace std;
int main(){
int m=0;
for(int i=1;i<=100;i++){
m+=1;
}
cout<<m;
return 0;
}

最终结果为10000 时间复杂度为o2

以此类推,假设for里面有x重循环,则时间复杂度为ox

> 3.循环运行

我们用两重for作为例子:

for(int i=1;i<=100;i++){
for(int j = 1;j <= 100; j ++){
m++;
}
}

注意:第一重for循环在运行时,前面的控制变量初始化表达式只是在第一次进行循环时运用的,作用只是给你的变量初始化进行一个初始的赋值,而在第一次运行完之后就不会运行了

for循环在运行时(两重循环),他是运行完里面二重for,在运行下一次的,就好比这样,i=1时,进行二重for(设n为10),j初始值为1,然后,j++,直到j>10时,二重for的条件表达式不再成立

关于 for 循环与 循环嵌套的更多相关文章

  1. 关于Qt的事件循环以及QEventLoop的简单使用(QEventLoop::quit()能够终止事件循环,事件循环是可以嵌套的)

    http://www.cnblogs.com/-wang-cheng/p/4973021.html 1.一般我们的事件循环都是由exec()来开启的,例如下面的例子: 1 QCoreApplicato ...

  2. 047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

    047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用 本文知识点:嵌套while循环应用 什么是循环嵌套? 什么是循环嵌套? ...

  3. (十一)if...else&for循环&while循环

    ----------------------------------if else------------------------------1.最基本的if语句:if name =="Al ...

  4. Python流程控制-while循环-for循环

    写重复代码 是可耻的行为 -------------- 完美的分割线  -------------- 摘录自:http://www.runoob.com/python/python-loops.htm ...

  5. 流程控制之while循环for循环

    流程控制之while循环1.什么是循环 循环就是重复做某件事2.为什么要有循环 为了让计算机能够具备人重复做某件事的能力3.如何用循环 while语法: while 条件: code1 code2 c ...

  6. js循环(while循环,do while循环,for循环)相关知识点及练习

    08.循环 1.循环! 循环的作用: 简化代码,处理重复执行的代码 遍历数组.json对象.节点集合 2.while循环 语法: while(循环的条件){ 循环体 } 3.循环的五大要素 循环变量 ...

  7. 控制流程之while循环, for循环

    条件循环:while,语法如下 while 条件: # 循环体 # 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件... # 如果条件为假,那么循环体不执行,循环终止死循环 基本使用 ...

  8. python 循环、循环设计、循环对象

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 1.循环 循环用于重复执行一些程序块.从上一讲的选择结构,我们已经看到了如何用缩进 ...

  9. Python第四天 流程控制 if else条件判断 for循环 while循环

    Python第四天   流程控制   if else条件判断   for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Python第二天 ...

  10. php之快速入门学习-13(PHP 循环 - While 循环)

    PHP 循环 - While 循环 循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块. PHP 循环 在您编写代码时,您经常需要让相同的代码块一次又一次地重复运行.我们可以在代码中使用循 ...

随机推荐

  1. 树莓派学习笔记——USB wifi配置指南

    0 前言     树莓派既能够使用有线网络又能够无线网络,假设使用有线网络不方便的话能够借助USB wifi无线网卡让树莓派也插上无线"翅膀". 可是和使用有线网络即插即用的方式不 ...

  2. --------------Hibernate学习(四) 多对一映射 和 一对多映射

    现实中有很多场景需要用到多对一或者一对多,比如上面这两个类图所展现出来的,一般情况下,一个部门会有多名员工,一名员工只在一个部门任职. 多对一关联映射 在上面的场景中,对于Employee来说,它跟D ...

  3. node.js之路由,中间件,ge请求和post请求的参数

    一.路由 1.什么是路由 服务器需要根据不同的URL或请求来执行不一样的操作,我们可以通过路由来实现这个步骤 2.实现路由的方法 2.1.get请求访问网址时,做什么事 1 app.get(" ...

  4. 转:java单例设计模式

    本文转自:http://www.cnblogs.com/yinxiaoqiexuxing/p/5605338.html 单例设计模式 Singleton是一种创建型模式,指某个类采用Singleton ...

  5. Activiti 6.0 之SkipExpression

    Activiti 6.0 之SkipExpression 惭愧惭愧,这么一个小小的功能整了这么久. ​ 还是先说一下业务场景吧.在工作流中,我们难免会遇到这样的情况,即一个流程的发起者的身份问题.举个 ...

  6. Handler的解析和使用

    1.handler为android中多线程间通信的一种机制, @1android中只允许在UI线程(主线程)操作或改变UI,其他线程不能操作UI. @2其他线程有刷新UI的需要,所以得告诉UI线程,这 ...

  7. coursera 视频总是缓冲或者无法观看的解决办法

    注意!!!该方法针对Windows用户,亲测有效. 1.用管理员权限记事本打开host文件 2.将如下内容复制到文件末尾 52.84.246.90 d3c33hcgiwev3.cloudfront.n ...

  8. Pytorch windows10安装教程

    强烈建议安装anaconda之后再来安装这个pytorch,具体怎么安装百度搜索就知道了. 温馨提示,在安装anaconda的时候记得将"添加到环境变量"(安装的时候是英文的)这一 ...

  9. 工厂方法模式(Method Factory),理解多态应用的好例子.

    工厂方法模式又称为多态性工厂,个人认为多态性工厂更能准确的表达这个模式的用处.与简单工厂(静态工厂)相比较,这里的多态性是指抽象出一个工厂基类,将因为一个产品有N种不同的是现这种变化封装起来,将具体的 ...

  10. Oracle ADG搭建

    Oracle Active Data Guard搭建 一:安装 1.基础环境配置 1.1.开启强制日志记录 DG日志发送方式中ARCH进程和LGWR进程的ASYNC模式都是基于日志同步的,所以我们必须 ...