「遞增法」是符合電腦運作特性的方法。電腦執行程式,一次只做一個動作,完成了一件事才做下一件事。當一個問題太大太多時,化整為零、一個一個解決吧!

合抱之木,生於毫末;九層之臺,起於累土;千里之行,始於足下。謹以此句與大家共勉。

範例:加總數字

無論電腦再怎麼強,還是得一個一個累加數字。

  1. void summation()
  2. {
  3. int array[5] = {3, 6, 9, -8, 1};
  4. int sum = 0;
  5. for (int i=0; i<5; i++)
  6. sum += array[i];
  7. cout << "總和是" << sum;
  8. }
  1. int summation(int array[], int n)
  2. {
  3. int sum = 0;
  4. for (int i=0; i<n; i++)
  5. sum += array[i];
  6. return sum;
  7. }

範例:複製字串

無論電腦再怎麼強,還是得逐字複製。

  1. void copy()
  2. {
  3. char s[15] = "incremental";
  4. char t[15];
  5. int i;
  6. for (i=0; s[i] != '\0'; i++)
  7. t[i] = s[i];
  8. t[i] = '\0';
  9. cout << "原本字串" << s;
  10. cout << "複製之後的字串" << t;
  11. }
  1. void copy(char* s, char* t)
  2. {
  3. int i;
  4. for (i=0; s[i]; i++)
  5. t[i] = s[i];
  6. t[i] = '\0';
  7. }

範例:選擇排序法( Selection Sort )

找到第一小的數字,放在第一個位置;再找到第二小的數字,放在第二個位置。一次找一個數字,如此下去就會把所有數字按照順序排好了。

  1. void selection_sort()
  2. {
  3. int array[5] = {3, 6, 9, -8, 1};
  4. for (int i=0; i<5; i++)
  5. {
  6. // 從尚未排序的數字當中,找到第i小的數字。
  7. int min_index = i;
  8. for (int j=i+1; j<5; j++)
  9. if (array[j] < array[min_index])
  10. min_index = j;
  11. // 把第i小的數字,放在第i個位置。
  12. swap(array[i], array[min_index]);
  13. }
  14. // 印出排序結果。
  15. for (int i=0; i<5; i++)
  16. cout << array[i];
  17. }
  1. void selection_sort(int array[], int n)
  2. {
  3. for (int i=0; i<n; i++)
  4. {
  5. // 從尚未排序的數字當中,找到第i小的數字。
  6. int min_index = i;
  7. for (int j=i+1; j<n; j++)
  8. if (array[j] < array[min_index])
  9. min_index = j;
  10. // 把第i小的數字,放在第i個位置。
  11. swap(array[i], array[min_index]);
  12. }
  13. }

範例:印出直角三角形

多字成行,多行成直角三角形。由細微的東西開始,一件一件組起來。

  1. // 多字成行
  2. void print_line(int n)  // n 是一行的長度
  3. {
  4. for (int i=1; i<=n; i++) cout << '@';
  5. cout << '\n';
  6. }
  7. // 多行成直角三角形
  8. void print_triangle(int n)  // n 是行數
  9. {
  10. for (int i=n; i>=1; i--) print_line(i);
  11. }

Incremental Method的更多相关文章

  1. Oracle E-Business Suite Maintenance Guide Release 12.2(Patching Procedures)

    更多内容参考: http://docs.oracle.com/cd/E51111_01/current/acrobat/122ebsmt.zip Preparing for Patching For ...

  2. (三)ORB特征匹配

    ORBSLAM2匹配方法流程 在基于特征点的视觉SLAM系统中,特征匹配是数据关联最重要的方法.特征匹配为后端优化提供初值信息,也为前端提供较好的里程计信息,可见,若特征匹配出现问题,则整个视觉SLA ...

  3. Android API之android.provider.ContactsContract.RawContacts

    android.provider.ContactsContract.RawContacts Constants for the raw contacts table, which contains o ...

  4. 07-THREE.JS 各种形状的几何图形

    <!DOCTYPE html> <html> <head> <title>Example 02.04 - Geometries</title> ...

  5. Apache Spark 2.2.0 中文文档

    Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN Geekhoo 关注 2017.09.20 13:55* 字数 2062 阅读 13评论 0喜欢 1 快速入门 使用 ...

  6. SEMAT[软件工程方法和理论 Software Engineering Method and Theory]

    Agile software development Agile software development is a group of software development methods bas ...

  7. 201904Online Human Action Recognition Based on Incremental Learning of Weighted Covariance Descriptors

    论文标题:Online Human Action Recognition Based on Incremental Learning of Weighted Covariance Descriptor ...

  8. 2.5 – Garbage Collection 自动垃圾回收 Stop-the-world vs. incremental vs. concurrent 垃圾回收策略

    2.5 – Garbage Collection  自动垃圾回收 Lua 5.3 Reference Manual http://www.lua.org/manual/5.3/manual.html# ...

  9. V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 2471245.1)

    V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 2471245. ...

随机推荐

  1. linux——压缩解压命令学习简单笔记

    一: 命令名称:gzip 命令英文原意:GNU zip 命令所在路径:/bin/gzip 执行权限:所有用户 语法:gzip 选项 [文件] 功能描述:压缩文件 压缩后文件格式:.gz 1:只能压缩文 ...

  2. signal_windows

    1.Qt532(vs2010 opengl) // ZC: windows signal: // http://blog.csdn.net/mergerly/article/details/79521 ...

  3. Python -- xlrd,xlwt,xlutils 读写同一个Excel

    最近开始学习python,想做做简单的自动化测试,需要读写excel,然后就找到了xlrd来读取Excel文件,使用xlwt来生成Excel文件(可以控制Excel中单元格的格式),需要注意的是,用x ...

  4. tomcat和java环境

    mac tomcat http://blog.csdn.net/huyisu/article/details/38372663 mac jdk 1.8 http://wlb.wlb.blog.163. ...

  5. 动态规划-Largest Sum of Averages

    2018-07-12 23:21:53 问题描述: 问题求解: dp[i][j] : 以ai结尾的分j个部分得到的最大值 dp[i][j] = max{dp[k][j - 1] + (ak+1 + . ...

  6. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 问题解决方法

    在用maven配置mybatis环境时出现此BindingExceptiony异常,发现在classes文件下没有mapper配置文件,应该是maven项目没有扫描到mapper包下的xml文件,在p ...

  7. 『科学计算』通过代码理解线性回归&Logistic回归模型

    sklearn线性回归模型 import numpy as np import matplotlib.pyplot as plt from sklearn import linear_model de ...

  8. Android studio的 repositories配置多个url

    buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2. ...

  9. inherit

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace { cl ...

  10. IOS UI-滚动视图(UIScrollView)

    #import "ViewController.h" /* 1.UIScrollView控件是什么? (1)移动设备的屏幕⼤小是极其有限的,因此直接展示在⽤用户眼前的内容也相当有限 ...