用易语言写一个归并排序
时间: 2023-03-15 08:14:13 浏览: 122
易语言归并排序算法源码-易语言
易语言归并排序算法:算法步骤:
1.如果数组中只有一个元素,则返回
2.否则,将数组分割为两半,分别将其递归排序
3.将两个排好序的子数组进行归并代码实现:
Global n
Procedure MergeSort(a[],start,end)
If start<end Then
mid=(start+end)/2
MergeSort(a,start,mid)
MergeSort(a,mid+1,end)
Merge(a,start,mid,end)
EndIf
EndProcedure
Procedure Merge(a[],start,mid,end)
Dim i,j,k
n1=mid-start+1
n2=end-mid
Dim L[n1],R[n2]
For i=1 To n1
L[i]=a[start+i-1]
Next
For j=1 To n2
R[j]=a[mid+j]
Next
i=1
j=1
k=start
While i<=n1 And j<=n2
If L[i]<=R[j] Then
a[k]=L[i]
i=i+1
Else
a[k]=R[j]
j=j+1
EndIf
k=k+1
EndWhile
While i<=n1
a[k]=L[i]
i=i+1
k=k+1
EndWhile
While j<=n2
a[k]=R[j]
j=j+1
k=k+1
EndWhile
EndProcedure
阅读全文