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. 阿里云部署Docker(6)----解决删除&lt;none&gt;镜像问题

    转载请注明来源,本博客原创作者为:http://blog.csdn.net/minimicall?viewmode=contents 在Docker使用中,常常会碰到删除镜像不成功.反而让镜像变成了& ...

  2. CUDA编程(六)进一步并行

    CUDA编程(六) 进一步并行 在之前我们使用Thread完毕了简单的并行加速,尽管我们的程序运行速度有了50甚至上百倍的提升,可是依据内存带宽来评估的话我们的程序还远远不够.在上一篇博客中给大家介绍 ...

  3. Javascript--cookie创建与查看

    创建cookie 以下代码将创建一个cookie,该cookie名称为UserName,值为Paul,过期时间为7天后(2015年6月29日) <span style="font-si ...

  4. .NET 实现Base-64加密解密处理

    .NET 实现Base-64加密解密处理 using System; using System.Collections.Generic; using System.Linq; using System ...

  5. Jenkins+github+maven+git+linux

    Jenkins:持续集成的一个工具 github:远程存放代码 maven:利用maven创建项目,配置pom.xm依赖 git :本地仓库,可以提交代码到远程(我都是使用git 在git bush ...

  6. 【java】Vector

    package com.tn.collect; import java.util.Enumeration; import java.util.Iterator; import java.util.Ve ...

  7. iOS tableView 数据处理,数据分类相同数据整合、合并计算总数总价

    // 数据下载得到数组数据 modelArray = [MZPriceModel mj_objectArrayWithKeyValuesArray:data[@"info"]]; ...

  8. iOS 写给iOS开发者的React Native学习路线(转)

    我是一名iOS开发者,断断续续一年前开始接触React Native,最近由于工作需要,专职学习React Native也有一个多月了.网络上知识资源非常的多,但能让人豁然开朗.迅速学习的还是少数,我 ...

  9. 张高兴的 Xamarin.Forms 开发笔记:Android 快捷方式 Shortcut 应用

    一.Shortcut 简介 Shortcut 是 Android 7.1 (API Level 25) 的新特性,类似于苹果的 3D Touch ,但并不是压力感应,只是一种长按菜单.Shortcut ...

  10. ArcGIS API for JavaScript 4.2学习笔记[11] 官方第五章Popups(弹窗)概览与解释

    直接跳过第三第四章了,第三章Layer和第四章可视化,怎么说呢,Layer是组织数据的,是Map的属性之一.可视化属于符号化编程,暂时不看. 第五章是对数据.结果的显示,类似于alert()..NET ...