十种排序方法:
1.优化的冒泡排序
2.简单选择排序
3. 直接插入排序
4. 快速排序 (方法1:选择所处理的数组的第一个元素作为基准元素, 方法2:快速排序取优化的中轴值)
5. 折半插入排序
6. 希尔排序(增量选取5,3,1)
7. 2-路插入排序
8. 堆排序
9.基数排序
10.归并排序
#include<iostream>
#include<cstring>
using namespace std;
int *a,n,k;//数组a,长度n,第k个算法
void BubbleSort()//1.冒泡排序 从小到大
{
for(int i=0;i<n-1;i++)
for(int j=0;j<n-i-1;j++)
if(a[j]>a[j+1])
{
int temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
void SelectSort()//2.简单选择排序
{
for(int i=0;i<n-1;i++)
{
int m=i,temp;
for(int j=i+1;j<n;j++)
{
if(a[j]<a[m])
m=j;
}
if(m!=i)
{
temp=a[i];
a[i]=a[m];
a[m]=temp;
}
}
}
void InsertSort()//3.直接插入排序
{
for(int i=1;i<n;i++)
{
if(a[i]&l