插入排序
非降序插入排列
INSERTION-SORT(A)
for j=2 to A.length//一共要排j个
key=A[j]//令最后一项为关键词
i=j-1//比较元素为前一项
while i>0 and A[i]>key//当比较项大于关键词时
A[i+1]=A[i]//比较项往后腾一项
i=i-1//继续往前比较
A[i+1]=key//当不满足while时,把空缺的用关键词补上
非升序插入排列
INSERTION-SORT(B)
for j=2 to B.length
ket=B[j]
i=j-1
while i>0 and B[i]<key
B[i+1]=B[i]
i=i-1
B[i+1]=key
插入排序能够保证
每一次排序完成后,序列都是有序的,每次只有最后一项待排序,把它和每一项做比较即可,但是效率在n很大的情况下会很慢
线性查找
LINEARITY-SEARCH(A)
k=0
for j=1 to A.length
if A[j]==v
printf(A[j])
break//找到就退出循环
else k++//每次没有查到v的时候,k自增
if k==A.length//若序列中没有v的值,k就等于A.length
printf(v=NIL)
线性查找是一种逐一查找信息的方式
二位数相加储存
BINARY-SYSTEM(A,B,C)
j=A.;ength to 1
i=B.;ength to 1
for k=C.length to 1
if A[j]+B[i]>=2
C[k]=0
A[j-1]+=1
B[i-1]+=1
if A[j]+B[k]==1 or A[j]+B[k]==0
C[k]=A[j]+B[k]
i--
j--
k--