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. ...
随机推荐
- linux——压缩解压命令学习简单笔记
一: 命令名称:gzip 命令英文原意:GNU zip 命令所在路径:/bin/gzip 执行权限:所有用户 语法:gzip 选项 [文件] 功能描述:压缩文件 压缩后文件格式:.gz 1:只能压缩文 ...
- signal_windows
1.Qt532(vs2010 opengl) // ZC: windows signal: // http://blog.csdn.net/mergerly/article/details/79521 ...
- Python -- xlrd,xlwt,xlutils 读写同一个Excel
最近开始学习python,想做做简单的自动化测试,需要读写excel,然后就找到了xlrd来读取Excel文件,使用xlwt来生成Excel文件(可以控制Excel中单元格的格式),需要注意的是,用x ...
- tomcat和java环境
mac tomcat http://blog.csdn.net/huyisu/article/details/38372663 mac jdk 1.8 http://wlb.wlb.blog.163. ...
- 动态规划-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 + . ...
- org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 问题解决方法
在用maven配置mybatis环境时出现此BindingExceptiony异常,发现在classes文件下没有mapper配置文件,应该是maven项目没有扫描到mapper包下的xml文件,在p ...
- 『科学计算』通过代码理解线性回归&Logistic回归模型
sklearn线性回归模型 import numpy as np import matplotlib.pyplot as plt from sklearn import linear_model de ...
- Android studio的 repositories配置多个url
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2. ...
- inherit
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace { cl ...
- IOS UI-滚动视图(UIScrollView)
#import "ViewController.h" /* 1.UIScrollView控件是什么? (1)移动设备的屏幕⼤小是极其有限的,因此直接展示在⽤用户眼前的内容也相当有限 ...