用 Linux 学 C++ 算法,是一个非常“正统”且高效的做法。下面从环境搭建 → 学习方法 → 工具链 → 实战路径一步步说。
绝大多数 Linux 自带或可用包管理器安装:
# Debian/Ubuntu
sudo apt update
sudo apt install g++ build-essential
# CentOS/RHEL
sudo yum install gcc-c++
# Arch
sudo pacman -S gcc
验证:
g++ --version
// hello.cpp
#include <iostream>
using namespace std;
int main() {
cout << "Hello Algorithm" << endl;
return 0;
}
编译运行:
g++ hello.cpp -o hello
./hello
重点顺序应为:
vector, map, set, queue, stack使用 竞赛/刷题平台
本地写代码:
vim solution.cpp
g++ solution.cpp -o solution -std=c++17
./solution < input.txt
sudo apt install vim
或
sudo apt install neovim
g++ -std=c++17 -O2 -Wall solution.cpp -o solution
./solution < in.txt > out.txt
diff out.txt ans.txt
g++ -g solution.cpp -o solution
gdb ./solution
常用:
break main
run
next
print x
time ./solution
或:
sudo perf stat ./solution
mkdir myalgo
cd myalgo
结构:
myalgo/
├── sort/
│ ├── bubble.cpp
│ └── quick.cpp
├── graph/
│ └── bfs.cpp
└── main.cpp
在 Linux 上学 C++ 算法 = 用命令行写代码 + STL + 刷题 + 自己实现算法
如果你愿意,我可以: