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

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

範例:加總數字

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

  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. HDU 1043 Eight(双向BFS+康托展开)

    http://acm.hdu.edu.cn/showproblem.php?pid=1043 题意:给出一个八数码,求出到达指定状态的路径. 思路:路径寻找问题.在这道题里用到的知识点挺多的.第一次用 ...

  2. Remastersys -- 将正在使用的Ubuntu14.04 制作成镜像文件

    remastersys 是一个能够备份你的ubuntu系统的工具. 源码在github上能找到:Remastersys Source 另外系统是 Ubuntu14.04/12.04 也可以直接 apt ...

  3. Java语言编写MD5加密方法,Jmeter如何给字符串MD5加密

    package md5package; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; ...

  4. Beta冲刺二——《WAP团队》

    β冲刺第二天  1. 今日完成任务情况以及遇到的问题. ①马麒.杜有海:管理员审核表的进一步完善 ②郝明宇:登录.注册界面的完善 ③马宏伟.周欣:继续完善前端数据借用与后台的连接 ④乌勒扎:登录与注册 ...

  5. YOLO V1论文理解

    摘要 作者提出了一种新的物体检测方法YOLO.YOLO之前的物体检测方法主要是通过region proposal产生大量的可能包含待检测物体的 potential bounding box,再用分类器 ...

  6. 打开XX.etl文件

    1 复制你想打开的xx.etl文件到C:\Windows\System32下2 以管理员权限打开cmd, cd 到C:\ Windows\system32,该目录下会有个文件叫做tracerpt.ex ...

  7. 你真的了解Spring Framework吗?

    Java 框架 上世纪90年代,使用Java开发Web应用普遍使用J2EE标准,J2EE具有平台无关性,对事务.消息等企业级的特性都有很好的支持,但当时的J2EE仍存在一些问题: 非常复杂:EJB的诞 ...

  8. 20170503xlVBA房地产数据分类连接

    Sub NextSeven_CodeFrame4() Application.ScreenUpdating = False Application.DisplayAlerts = False Appl ...

  9. Perfect Groups CodeForces - 980D

    链接 题目大意: 定义一个问题: 求集合$S$的最小划分数,使得每个划分内任意两个元素积均为完全平方数. 给定$n$元素序列$a$, 对$a$的所有子区间, 求出上述问题的结果, 最后要求输出所有结果 ...

  10. devilbox(二):连接数据库

    Devilbox的安装在上一篇https://www.cnblogs.com/ermao0423/p/9505653.html中已经记录了,这篇主要记录各种数据库的连接.用户建立.设置密码等 查看do ...