Wu-Jun Pei
Yahoo 字典:(線,鐵絲等繞成的)圈,環
Loop
Do something similar again and again and again and again........
試想如果你要計算 2 + 4 + 6 + 8 + .... + 98 + 100
int sum = 2 + 4 + 6 + ... + 100;難道當工程師只能這樣慢慢加,一個求和問題就要自己打到天荒地老,這小學生都會(?
for (initialization; condition; variable update) {
//do something until the condition becomes false
}Loop
for (int i = 0; i <= 100; i++) {
//do something until i > 100
}Sum of even numbers from 1 - 100
int cnt = 0;
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) {
cnt += i;
}
}
std::cout << cnt << std::endl;Sum of even numbers from 1 - 100
int cnt = 0;
for (int i = 2; i <= 100; i += 2) {
cnt += i;
}
std::cout << cnt << std::endl;常見的錯誤
for (int i = 0, i <= 100, i++) {
//do something until i > 100
}常見的錯誤
for (int i = 0; i <= 100; i++) {
//do something until i > 100
}void bubble_sort (int arr[], int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[ j ] > arr[ j + 1 ]) {
std::swap(arr[ j ], arr[ j + 1 ]);
}
}
}
}短短幾行就完成sort了!
還不快試試看!
STL的 std::sort
std::sort( arr, arr+n );