伪代码-Pseudocode
[TOC]
定义
- 主要用于简单快速的描述程序或者算法的实现、要求清晰明了
- 伪代码主观且不标准,每个人都有自己的写法。
约定
- 每行只写一条语句,不跟任何结束符号
- 使用简单的关键词和术语:for..to、while、repeat等等
- 使用算术运算符,关系运算符、逻辑运算符
- 缩进表示分程序块结构
- 赋值 y <- x(表示 x 的值赋值给 y ),多重赋值 i <-j <- e(表示 e 的值赋值给 i 和 j )
- 变量都是局部定义,未显式说明不使用全局变量
- 数组:
- A[i] 表示A的第i个元素
- A[1...j]表示A的一个子数组,包含j个元素
- △表示注释
DEMO
INSERTION-SORT(A) - Pseudocode
for j <-2 to length[A]
key <- A[j]
△ insert A[j] into the sencond squence A[1..j-1]
i <- j-1
while i>0 and A[j]> key
A[i+1] <- A[i]
i <- i-1
A[i+1] <- key
SELECTION-SORT(A) - Pseudocode
for i <- 1 to length[A]
j = i + 1
min <- i
for j to length[A]
if A[j] < min
min <- j
if min > i
A[i] = A[i]^A[min]
A[min] = A[i]^A[min]
A[i] = A[i]^A[min]
SELECTION-SORT(A) - JAVA
public static int[] selecteSort(int[] items){
int length = items.length;
for (int i = 0; i < length; i++) {
int min = i;
for (int j = i+1; j < length; j++){
if (items[j]< items[min]){
min = j;
}
}
if(min > i){
items[i] = items[i]^items[min];
items[min] = items[i]^items[min];
items[i] = items[i]^items[min];
}
}
return items;
}
Reference
- 算法导论第三版
- Pseudocode
网友评论