伪代码书写_教你写⼀⼿漂亮的伪代码
前⾔
最近在复盘《算法设计与分析》这门课程的时候,发现⽼师写得⼀⼿漂亮的伪代码,着实羡慕不已,看他写其实已经知道⼤致写伪代码的规则,但本着严谨的态度,还是系统的学习和整理出来。在学习过程中,我们不可能将每⼀个算法都完完整整敲⼀遍,那么伪代码就可以很快捷和清晰的写出对⼀个算法的解决思路。
我在⽹上查到的博客中要么写的过于繁琐,要么就是没有实例,这也激起了我想要整理这篇⽂章的动⼒,若⽂章中有错误或者不⾜,希望⼤家指出。
伪代码的7个主要部分
1. 算法名称
2. 指令序列
3. 输⼊/输出
4. 分⽀选择
连接mongodb数据库
5. 赋值
6. 循环
7. 算法结束
⽂章将从这7个部分依次进⾏说明
1.算法名称
有两种表⽰算法的伪代码:过程(Procedure)
函数(Function)
tableau32位下载
过程和函数的区别是:
过程是执⾏⼀系列操作,不需要返回操作的结果,⽆返回数据。
函数是执⾏⼀系列的操作后,要将操作的结果返回,有返回数据。
简单来说⼆者就是有没有返回数据。
算法伪代码的书写规则:
Procedure ([])Function ([])
2.指令序列
指令序列是算法的主体。
指令序列的书写规则:
> ⽤Begin作为开始,⽤End作为结束;
> 或者⽤“{”作为开始,⽤“/}”作为结束
例如:
或者
3.输⼊/输出
输⼊:Input
输出:Output 或Return
看个⼈的习惯吧,我输出⼀般⽤Return4.分⽀选择
authorized是什么意思总体有两种分⽀,类似于C中的if语句 和if else语句⽤法是⼀样的,可以嵌套。
5.赋值
sql update从另一个表查出来有两种 可以⽤:=或者例如:
x:=x+1;x
选择哪个,看⾃⼰的习惯吧 6.循环
两种⽅式:计数式循环(for循环)和条件式循环(while循环)。
(1)计数式循环
怎么清空结构体数组数据For 变量:=初值 To 终值{      指令序列;  /}
循环次数:终值-初值+1
(2)条件式循环
While (条件) do{      指令序列; /}
7.算法结束
关键字End的后⾯加上算法名称,表⽰算法结束,是算法的最后⼀句。
例如:
End DFS
补充
除了这些,像运算符号* / + - %等等,都是和C语⾔⽤法⼀样数组:
A[j]指⽰数组A的第j个元素。符号“ …”⽤来指⽰数组中值的范围。例如:
A[1…j]表⽰含元素A[1], A[2], … , A[j]的⼦数组;
还有个写法是A[0:n]表⽰数组下标从0开始⼀直到n
⼆维数组也是:A[0:m,0:n]
举个例⼦
例如冒泡排序的伪代码:
会发现伪代码的7⼤部分没有提到的内容是:冒号的作⽤
变量名 : 数据类型
冒泡排序代码c语言
还有var这是变量的意思,如果学过javascript应该会有⽐较深⼀点的理解,我在这⾥理解就是告诉读者,这是⼀个变量。
再举个插⼊排序的例⼦
关于语句后⾯有没有分号,我看有些⼈说有,有些说没有,其实拟C伪代码可以加分号,这样看起来更习惯
说明
这个伪代码是算法⽐较规范的伪代码规则,我在⽹上查到有java的伪代码,python伪代码,php伪代码等等,和其他的,我的理解就是把没有完整实现的代码叫做了伪代码,其实只要能够清楚表达思路,让别⼈很容易理解,都可以称作伪代码吧。不受严格语法的约束,我想这也是伪代码写起来⽐较快乐的原因吧。
更多内容请WX搜索:松⿏技术站

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。