介绍
伪代码(Pseudocode)是一种非正式的,类似于英语结构的,用于描述模块结构图的语言。(百度百科)
要点
- 变量:不需要声明变量类型,对于重要变量加以注释。
- 变量赋值: a ⬅ 3(把3赋值给a) ⬅ 比较麻烦 可以使用 =
- 表达式: 算数运算符 + - * / ^ 关系运算符 = != > < <= >= 逻辑运算符 and or not
- 条件语句:
if x = 1
then *****
else *****
if x = 1
then ***
elseif x = 2 //elseif 要连在一起
then ***
else ***
- 循环结构
while
while x < 10
dp ***
***
end
for
for var init to limit by incr do //var 变量 into 赋值
s
end
for i ⬅ 0 to 10
do ***
***
end
- 结束语句:exit 循环结束 return 算法结束
- 注释://
实例
快速排序
GetPartation(A,l,r)
x = A[r]
i = l - 1
for j = p to r-1
do if A[j] <= x
then i = i + 1
exchange A[i] <->A[j]
exchange A[i+1] <-> A[r]
return i+1
end
QuickSort(A,l,r)
if l < r
mid = GetPartation(A,l,r)
QuickSort(A,l,mid-1)
QuickSort(A,mid+1,r)
end
选择排序
select sort
list = {}
for i = 0 to list.length - 2 do
index = i;
if list[j] < list[index] then
index = j
for j = i+1 to list[index] then
index = j;
end
if index < i end
list.swap(index,i)
end
冒泡排序
bubble sort
list = {}
for i = list.length-1 donw to 0 do
for j = i-1 to 0 do
if list[j] > list[j+1] then
list.swap(j,j+1)
end
end
Binary_Search(first, last)
IF (first > last) THEN
RETURN false
ELSE
set middle to (first + middle) / 2
set result to item.compareto(middle)
IF (result = 0) THEN
RETURN true
ELSE
IF (result < 0) THEN
Binary_Search(first, middle)
ELSE
Binary_Sreach(middle, last)
二分查找
Binary_Search(A,first,last,key) // A是数组 first last查询起点终点 key查询值
if first > last then
return false
else
mid = (first + last) / 2
if A[mid] = key then
return true;
else if A[mid] < key then
Binary_Search(A,first,mid,key)
else
Binary_Search(A,mid,last,key)
本文深入解析了伪代码的概念及其在算法描述中的应用,详细介绍了包括快速排序、选择排序和冒泡排序在内的多种排序算法的伪代码实现,并探讨了二分查找算法的工作原理。
1万+

被折叠的 条评论
为什么被折叠?



