一个大佬的快速排序详解:https://blog.csdn.net/vayne_xiao/article/details/53508973
简单代码实现:
//冒泡排序
void BubbleSort(int arr[],int len)
{
int tmp=0;
for(int i=0;i<len;i++)
{
for(int j=0;j<len-i-1;j++)
{
if(arr[j]>arr[j+1])
{
tmp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tmp;
}
}
}
}
*/
/*
插入排序
void InsertSort(int arr[],int len)
{
int tmp=0;
for(int i=0;i<len;i++)
{
tmp=arr[i];//tmp保存待排序数组的第一个元素
int j=i-1;//i-1为有序数组的最后一个元素(与待排序数组相邻)
while(j>0 && arr[j]>tmp)
{
arr[j+1]=arr[j];//若不是合适位置,有序数组向后移动
j--;
}
arr[j+1]=tmp;//找到合适位置,进行元素插入
}
}
*/
/*
快速排序
int partition(int arr[],int left,int right)//找出基准值
{
int key=arr[left];
while(left<right)
{
while(left<right && arr[right]>=key)right--;
arr[left]=arr[right];
while(left<right && arr[left]<=key)left++;
arr[right]=arr[left];
}
arr[left]=key;
return left;
}
void Quick(int arr[],int start,int end)//成功将基准值放入合适位置,左边小于基准值,右边大于基准值,左右进行递归
{
if(start<end)
{
int boundindex=partition(arr,start,end);
Quick(arr,start,boundindex-1);
Quick(arr,boundindex+1,end);
}
}
void QuickSort(int arr[],int len)//调用递归函数
{
Quick(arr,0,len-1);
}
*/
void Show(int arr[],int len)
{
for(int i=0;i<len;i++)
{
cout<<arr[i]<<' ';
}
cout<<endl;
}
int main()
{
int arr[]={10,50,90,40,30,60,70};
int len=sizeof(arr)/sizeof(arr[0]);
//BubbleSort(arr,len);
//InsertSort(arr,len);
//QuickSort(arr,len);
Show(arr,len);
return 0;
}