Incremental Method
「遞增法」是符合電腦運作特性的方法。電腦執行程式,一次只做一個動作,完成了一件事才做下一件事。當一個問題太大太多時,化整為零、一個一個解決吧!
合抱之木,生於毫末;九層之臺,起於累土;千里之行,始於足下。謹以此句與大家共勉。
範例:加總數字
無論電腦再怎麼強,還是得一個一個累加數字。

- void summation()
- {
- int array[5] = {3, 6, 9, -8, 1};
- int sum = 0;
- for (int i=0; i<5; i++)
- sum += array[i];
- cout << "總和是" << sum;
- }
- int summation(int array[], int n)
- {
- int sum = 0;
- for (int i=0; i<n; i++)
- sum += array[i];
- return sum;
- }
範例:複製字串
無論電腦再怎麼強,還是得逐字複製。

- void copy()
- {
- char s[15] = "incremental";
- char t[15];
- int i;
- for (i=0; s[i] != '\0'; i++)
- t[i] = s[i];
- t[i] = '\0';
- cout << "原本字串" << s;
- cout << "複製之後的字串" << t;
- }
- void copy(char* s, char* t)
- {
- int i;
- for (i=0; s[i]; i++)
- t[i] = s[i];
- t[i] = '\0';
- }
範例:選擇排序法( Selection Sort )
找到第一小的數字,放在第一個位置;再找到第二小的數字,放在第二個位置。一次找一個數字,如此下去就會把所有數字按照順序排好了。

- void selection_sort()
- {
- int array[5] = {3, 6, 9, -8, 1};
- for (int i=0; i<5; i++)
- {
- // 從尚未排序的數字當中,找到第i小的數字。
- int min_index = i;
- for (int j=i+1; j<5; j++)
- if (array[j] < array[min_index])
- min_index = j;
- // 把第i小的數字,放在第i個位置。
- swap(array[i], array[min_index]);
- }
- // 印出排序結果。
- for (int i=0; i<5; i++)
- cout << array[i];
- }
- void selection_sort(int array[], int n)
- {
- for (int i=0; i<n; i++)
- {
- // 從尚未排序的數字當中,找到第i小的數字。
- int min_index = i;
- for (int j=i+1; j<n; j++)
- if (array[j] < array[min_index])
- min_index = j;
- // 把第i小的數字,放在第i個位置。
- swap(array[i], array[min_index]);
- }
- }
範例:印出直角三角形
多字成行,多行成直角三角形。由細微的東西開始,一件一件組起來。

- // 多字成行
- void print_line(int n) // n 是一行的長度
- {
- for (int i=1; i<=n; i++) cout << '@';
- cout << '\n';
- }
- // 多行成直角三角形
- void print_triangle(int n) // n 是行數
- {
- for (int i=n; i>=1; i--) print_line(i);
- }
Incremental Method的更多相关文章
- 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 ...
- (三)ORB特征匹配
ORBSLAM2匹配方法流程 在基于特征点的视觉SLAM系统中,特征匹配是数据关联最重要的方法.特征匹配为后端优化提供初值信息,也为前端提供较好的里程计信息,可见,若特征匹配出现问题,则整个视觉SLA ...
- Android API之android.provider.ContactsContract.RawContacts
android.provider.ContactsContract.RawContacts Constants for the raw contacts table, which contains o ...
- 07-THREE.JS 各种形状的几何图形
<!DOCTYPE html> <html> <head> <title>Example 02.04 - Geometries</title> ...
- Apache Spark 2.2.0 中文文档
Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN Geekhoo 关注 2017.09.20 13:55* 字数 2062 阅读 13评论 0喜欢 1 快速入门 使用 ...
- SEMAT[软件工程方法和理论 Software Engineering Method and Theory]
Agile software development Agile software development is a group of software development methods bas ...
- 201904Online Human Action Recognition Based on Incremental Learning of Weighted Covariance Descriptors
论文标题:Online Human Action Recognition Based on Incremental Learning of Weighted Covariance Descriptor ...
- 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# ...
- 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. ...
随机推荐
- LA 3135 阿格斯(优先队列)
https://vjudge.net/problem/UVALive-3135 题意: 你的任务是编写一个称为Argus的系统.该系统支持一个Register的命令 Register Q_num Pe ...
- js 捕捉滚轮的滚动
滚动方向区分为正负: <!DOCTYPE html> <html> <head lang="en"> <meta charset=&quo ...
- web前端设计规范
hi,这里写出一点自己对web产品开发的一点粗浅的规范认识,一切为了敏捷开发哈哈. 1.流程. (1) 当产品给出原型和产品文档. (2)设计师更据原型,开始设计产品的效果图. (3)设计师设计完毕后 ...
- 为什么HikariCP被号称为性能最好的Java数据库连接池,如何配置使用
转自:https://blog.csdn.net/clementad/article/details/46928621 HiKariCP是数据库连接池的一个后起之秀,号称性能最好,可以完美地PK掉其他 ...
- 只输FLOAT值 TEXTBOX
if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8 && (in ...
- C#正则过滤HTML标签并保留指定标签的方法
本文实例讲述了C#正则过滤html标签并保留指定标签的方法.分享给大家供大家参考,具体如下: 这边主要看到一个过滤的功能: public static string FilterHtmlTag(str ...
- MSSQL 一坑 SQL Management Studio 管理工具的快捷方式被删掉了
如果确定已经安装的情况下,到这里去找下吧(我这里用的是sql 2008) C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Co ...
- 20170617xlVBA调查问卷基础数据分类计数
Public Sub GatherDataPicker() Application.ScreenUpdating = False Application.DisplayAlerts = False A ...
- vue.js 混入
混入:mixins 一种分发Vue组件中可反复使用的功能的方法. 混入对象可以:包含任意组件选项. 混入对象的选项将被混入该组件本身的选项. 如果有同名选项,在和组件的数据发生冲突时,组件数据优先.混 ...
- Jersey 2.x 服务器端应用支持的容器
基于 JAX-RS Servlet-based 部署的一部分标准,能运行在任何支持 Servlet 2.5 和更高标准的的容器上.Jersey 提供支持程序化部署在下面的容器中:Grizzly 2 ( ...