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. ...
随机推荐
- UVa 1620 懒惰的苏珊(逆序数)
https://vjudge.net/problem/UVA-1620 题意:给出一个序列,每次可以翻转4个连续的数,判断是否可以变成1,2,3...n. 思路:考虑逆序数,通过计算可以得出每次翻转4 ...
- C++基础-string截取、替换、查找子串函数
1. 截取子串 s.substr(pos, n) 截取s中从pos开始(包括0)的n个字符的子串,并返回 s.substr(pos) 截取s中从从pos开始(包括0)到末尾的所有字 ...
- java 从List中随机取出一个元素
java 从List中随机取出一个元素 List<Integer> list = new ArrayList<>(); Random random = new Random() ...
- Codeforces 768B - Code For 1(分治思想)
768B - Code For 1 思路:类似于线段树的区间查询. 代码: #include<bits/stdc++.h> using namespace std; #define ll ...
- Google chrome浏览器打不开网页,显示ERR_Failed...等问题的解决方法
新装好的win7系统,打开Google浏览器,显示网页可能暂时无法连接,或者它已永久性的移动到了新地址.在网络搜索很多资料,发现解决方法如下,亲测成功. 原因,该服务依赖的TCP/IP 协议有问题. ...
- Java下载https文件上传到阿里云oss服务器
Java下载https文件上传到阿里云oss服务器 今天做了一个从Https链接中下载音频并且上传到OSS服务器,记录一下希望大家也少走弯路. 一共两个类: 1 .实现自己的证书信任管理器类 /** ...
- 为什么需要API网关?
目录 0:00 微服务与网关(Microservices & API Gateways) 大家好,我叫Macro,今天我们谈论有关微服务和网关的话题.我是Mashape的CTO,也同时是开源网 ...
- 用EL時(el-api.jar,el-ri.jar ),要設isELIgnored="false"
用EL時(el-api.jar,el-ri.jar ),要設isELIgnored="false" 否则jstl标签不显示. 加上 <%@page isELIgnored="false ...
- win7创建 VirtualBox COM 对象失败。 应用程序现在将终止。 Callee RC: E_NOINTERFACE (0x80004002)
win7创建 VirtualBox COM 对象失败. 应用程序现在将终止. Callee RC: E_NOINTERFACE (0x80004002) 启动VirtualBox提示这个错误, ...
- [Java学习] Java异常处理基础
Java异常是一个描述在代码段中发生的异常(也就是出错)情况的对象.当异常情况发生,一个代表该异常的对象被创建并且在导致该错误的方法中被抛出(throw).该方法可以选择自己处理异常或传递该异常.两种 ...