这是一个有争议的问题,因为“最有用的代码”因人而异,也取决于您需要解决的问题。以下是一些常见用途的示例:
- 使用STL容器进行快速排序:
#include <algorithm>
#include <vector>
std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
std::sort(vec.begin(), vec.end());
- 使用动态规划求解最长公共子序列:
#include <iostream>
#include <string>
int lcs(const std::string& s1, const std::string& s2) {
int n = s1.size();
int m = s2.size();
int dp[n + 1][m + 1];
for (int i = 0; i <= n; i++) {
for (int j = 0; j <= m; j++) {
if (i == 0 || j == 0) {
dp[i][j] = 0;
} else if (s1[i - 1] == s2[j - 1]) {
dp[i][j] = dp[i - 1][j - 1] + 1;
} else {
dp[i][j] = std::max(dp[i - 1][j], dp[i][j - 1]);
}
}
}
return dp[n][m];
}
int main() {
std::string s1 = "ABCDGH";
std::string s2 = "AEDFHR";
int length = lcs(s1, s2);
std::cout << "Length of LCS: " << length << std::endl;
return 0;
}
- 使用递归来计算斐波那契数列:
#include <iostream>
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
int n = 10;
for (int i = 0; i < n; i++) {
std::cout << fibonacci(i) << " ";
}
return 0;
}
注意:这些代码只是示例,可能并不适用于所有情况。在编写实际应用程序时,必须谨慎考虑,并遵循最佳实践。