2024年4月14日发(作者:)
1) 冒泡排序:
冒泡排序每遍历一次数组,便将最大的元素放到数组最后边。下次遍历将次大的元素放到数组
倒数第二位,依次类推,直至将最小的元素放到最前边,此时冒泡排序完成。
2) 快速排序:
快速排序是采用了分而治之的思想,但与合并排序有所不同的是快速排序先“工作〞〔这里是
分割或partition〕,再递归。快速排序的主要思想是保证数组前半局部小于后半局部的元素,
然后分别对前半局部和后半局部再分别进行排序,直至所有元素有序。
3) 两路合并排序
此外还对快速排序进行了改进,改进算法流程图如下所示:
GQuickSort ()
四、程序代码
template
void GQuickSort(T A[],int n) //改进的快速排序
{
GQSort(A,0,n-1);
}
template
void GQSort(T A[],int left,int right)
{
int i,j;
if(right>=9)
{
if(left { i=left; j=right+1; do {


发布评论