C++十种排序方法——最详细代码

十种排序方法: 

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++)
	{
	

版权声明:本文为weixin_55499190原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。