伪代码学习总结
1. 什么是伪代码
-
伪代码(Pseudocode) 是一种 算法描述语言。
-
它既不同于自然语言(太模糊),也不是某种具体编程语言(太依赖语法)。
-
使用伪代码的目的:
- 使被描述的算法可以容易地翻译成任何一种编程语言(如 Pascal, C, Java, Python 等);
- 要求 结构清晰、可读性好、简洁明了;
- 类似自然语言,强调逻辑而非语法。
2. 常见伪代码语法要点
-
赋值:
x ← 1
(读作“x 赋值为 1”)
-
for 循环:
for i ← 0 to 10 doXXXXX
for
后跟do
- 不写括号
- 循环体缩进
-
while 循环:
while time < 10 doxxxxx
-
if 条件:
if i = 10 thenxxxx elsexxxx
-
多分支 if:
if i = 10 thenxxxx elseif i = 9 thenxxxxyyyy elsexxxx
elseif
必须合并写作一个单词then
必须出现在if
或elseif
后面else
对齐
-
缩进与对齐:
- 同一嵌套等级的语句要对齐。
do
后必须紧跟缩进部分。
-
变量声明:
- 通常不显式写出来,但要在注释中说明。
-
函数伪代码:
search(A, name) // 参数类型可以不给,但要在注释中说明
-
语句编号:
- 写完的伪代码,通常每行前要加上序号,便于引用。
3. 示例:冒泡排序伪代码
输入:数组 L,整数 n。输出:按非递减顺序排序的 L。
1. FLAG ← n // 标记最后一次交换位置
2. while FLAG > 1 do
3. k ← FLAG - 1
4. FLAG ← 1
5. for j ← 1 to k do
6. if L(j) > L(j+1) then
7. L(j) ↔ L(j+1) // 交换
8. FLAG ← j
4. 示例:翻译成实际语言
C++ 版本
void BubbleSort(vector<int>& L) {int n = L.size();int FLAG = n;while (FLAG > 1) {int k = FLAG - 1;FLAG = 1;for (int j = 0; j < k; j++) {if (L[j] > L[j+1]) {swap(L[j], L[j+1]);FLAG = j + 1;}}}
}
Python 版本
def BubbleSort(L):n = len(L)FLAG = nwhile FLAG > 1:k = FLAG - 1FLAG = 1for j in range(k):if L[j] > L[j+1]:L[j], L[j+1] = L[j+1], L[j]FLAG = j + 1