冒泡排序
void BubbleSort(int arr[],int n)
{
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1-i;j++)
{
if(arr[j]>arr[j+1])
{
swap(arr[j],arr[j+1]);
}
}
}
}
总结
快速排序
void QuickSort(int arr[],int low,int high)
{
if(low<high)
{
int pk=Partition(arr,low,high);
QuickSort(arr,low,pk-1);
QuickSort(arr,pk+1,high);
}
}
void Partiton(int arr[],int low,int high)
{
int pk=arr[low];
while(low<high)
{
while(low<high&&arr[high]>=pk)
high--;
arr[low]=arr[high];
while(low<high&&arr[low]<pk)
low++;
arr[high]=arr[low];
}
arr[low]=pk;
return low;
}
总结
- 如果pk中的数是比较居中的数,则效率较高,如果是最小的数或最大的数,则会退化为冒泡排序