伪代码-Pseudocode

伪代码-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

你可能感兴趣的:(伪代码-Pseudocode)