教你写一手漂亮的伪代码(详细规则&简单实例)

教你写一手漂亮的伪代码(详细规则&简单实例)文章目录前言伪代码的 7 个主要部分 1 算法名称 2 指令序列 3 输入 输出 4 分支选择 5 赋值 6 循环 7 算法结束补充举个例子说明前言最近在复盘 算法设计与分析 这门课程的时候 发现老师写得一手漂亮的伪代码 着实羡慕不已 看他写其实已经知道大致写伪代码的规则 但本着严谨的态度 还是系统的学习和整理出来 在学习过程中 我们不可能将每一个算法都完完整整敲一遍 那么伪代码就可以很快捷和清晰的写出对一个算法的解决思路 我在网上查到的博客中要么写的过于繁琐 要么就是没有实例 这也激起了我想要整理这篇文章的动力 若文

前言

伪代码的7个主要部分

  1. 算法名称
  2. 指令序列
  3. 输入/输出
  4. 分支选择
  5. 赋值
  6. 循环
  7. 算法结束
    文章将从这7个部分依次进行说明

1.算法名称

Procedure <算法名>([<参数列表>]) Function <算法名>([<参数列表>]) 

2.指令序列

例如:

Begin 指令序列; End 

或者

{ 
    指令序列; /} 

说通俗一点就是类似于我们写C语言只要在{ }中的都是这个函数的指令序列。最后面会给一个完整的例子,方便理解

3.输入/输出

4.分支选择

总体有两种分支,类似于C中的if语句 和if else语句用法是一样的,可以嵌套。

//第一种 If<条件> Then { 
    指令序列; /} //第二种 If<条件> Then { 
    指令序列1; /} Else { 
    指令序列2; /} 

5.赋值

有两种 可以用:=或者<-作为赋值操作符,相当于C语言中的=
例如:

x:=x+1; x<-x+1; 

选择哪个,看自己的习惯吧

6.循环

For 变量:=初值 To 终值 { 
    指令序列; /} 
While (条件) do { 
    指令序列; /} 

7.算法结束

End DFS 

补充

举个例子

变量名 : 数据类型 

还有var这是变量的意思,如果学过javascript应该会有比较深一点的理解,我在这里理解就是告诉读者,这是一个变量。

 procedure Bubble(n:integer); var temp,i,j:integer; change:boolean; begin for i:=1 to n-1 do begin change:=false; for j:=n-1 downto i do if a[j]>a[j+1] then begin change:=true; temp:=a[j]; a[j]:=a[j+1]; a[j+1]:=temp; end; if not(change) then exit; end; end; 

再举个插入排序的例子

procedure insertsort(n:integer); var i,j:integer; begin for i:=2 to n do begin a[0]:=a[i]; j:=i-1; while a[j]>a[0] do begin a[j+1]:=a[j]; j:=j-1; end; a[j+1]:=a[0]; end; end; 

关于语句后面有没有分号,我看有些人说有,有些说没有,其实拟C伪代码可以加分号,这样看起来更习惯

说明

这个伪代码是算法比较规范的伪代码规则,我在网上查到有java的伪代码,python伪代码,php伪代码等等,和其他的,我的理解就是把没有完整实现的代码叫做了伪代码,其实只要能够清楚表达思路,让别人很容易理解,都可以称作伪代码吧。不受严格语法的约束,我想这也是伪代码写起来比较快乐的原因吧。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211527.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午10:13
下一篇 2026年3月18日 下午10:14


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号