什么是快速排序,
收起
知与谁同
2018-07-21 17:41:35
1550
0
2
条回答
写回答
取消
提交回答
-
快速排序是对冒泡排序的一种改进
快速排序每趟记录最小数k 用最小数k来比较
2019-07-17 22:50:20
-
快速排序是平均速度最快的排序方法,思想如下:
每趟选中一个元素,并把这个元素插入到它的正确位置,
也就是说每趟排完之后,选中元素的左边都小于它,右边元素都大于它。然后
再分别对其左边部分和右边部分进行快速排序。
排序函数如下
/*排序函数*/
/*入口参数:数组,数组起始元素下标,末端元素下标*/
/*返回值:排好序后的数组*/
void sort(DataType a[],int left,int right)
{
DataType temp;
int i,j;
i=left;j=right;
temp=a[left];
while(i<j)
{
while(i<j&&a[j].Average>temp.Average)j--;
if(i<j)
{
a[i]=a[j];
i++;
}
while(i<j&&a[i].Average<temp.Average)i++;
if(i<j)
{
a[j]=a[i];
j--;
}
}
a[i]=temp;
if(left<i)sort(a,left,i-1);
if(i<right)sort(a,i+1,right);
}
2019-07-17 22:50:20