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

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

範例:加總數字

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

  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. C++ 实验2:函数重载、函数模板、简单类的定义和实现

    1.函数重载编程 编写重载函数add(),实现对int型,double型,Complex型数据的加法.在main()函数中定义不同类型数据,调用测试. #include <iostream> ...

  2. C# 读取txt文件内容

    if (!System.IO.File.Exists(@"E:\\111.txt")) { Console.Write("没有找到文件!"); } System ...

  3. html js 捕捉鼠标右键事件,按下滚轮事件,左键点击事件

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  4. Android之动态改变控件大小

    利用getLayoutParams()方法和setLayoutParams()方法.三步曲:1.首先利用getLayoutParams()方法,获取控件的LayoutParams.eg:LayoutP ...

  5. windows下的mongodb安装(真垃圾)

    一.下载 3.6下载安装会卡死.只能下3.4的.http://downloads.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-v3.4-la ...

  6. 更改Windows Update设置时,为何会提示“某些设置由你的系统管理员管理”?

    亲测有效 及时进行更新是保证系统正常运行的一个有效措施.可为什么当我们进入“控制面板->Windows Update”手动修改 Windows Update 的设置时,系统却弹出提示“某些设置由 ...

  7. LncRNA

    简介:长链非编码RNA(Long non-coding RNA, lncRNA)通过多种机制发挥其生物学功能, 这些机制包括基因印记.染色质重塑.细胞周期调控.剪接调控.mRNA降解和翻译调控等.ln ...

  8. Jersey 2.x 从Maven Archetype 创建一个新项目

    创建 Jersey 工程需要使用 Apache 的 Maven 软件工程和管理工具.所有的Jersey产品模块都可以在 Maven中央库 中找到.这样的话 Jersey 可以非常容易和其他基于 Mav ...

  9. Confluence 6 配置用户目录

    一个用户目录是你存储你的用户和用户组信息的地方.用户信息包括有用户的全名,用户名,密码和电子邮件地址以及其他的一些个人信息. 用户组包括有用户组名字,属于这个用户组的用户和有可能属于这个用户组的另一个 ...

  10. websphere设置企业应用使用的jvm最大最小内存

    websphere设置企业应用使用的jvm最大最小内存 设置jvm 内存的最大最小值.打开was管理控制台  点击应用程序服务器-----server1  点击java和进程管理前面的加号  点击进程 ...