1 / 13
文档名称:

常用排序算法.docx

格式:docx   大小:27KB   页数:13页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

常用排序算法.docx

上传人:文库旗舰店 2020/11/5 文件大小:27 KB

下载得到文件列表

常用排序算法.docx

相关文档

文档介绍

文档介绍:常用排序算法总结
#include<iostream>
using namespace std;
void bubble_sort1(int *array,int length);//冒泡排序法
void bubble_sort2(int *array,int length);//冒泡排序法
void simple_swap(int *array,int length);//简单交换排序
void straight_insertSort(int *array,int length);//直接插入排序
void BInsertSort(int *array,int length);//折半插入排序
void BWInsertSortion(int *array,int length);//2-路插入排序
void ShellInsert(int *array,int length,int increment);//希尔插入
//希尔插入排序
void ShellSort(int *array,int aray_length,int increment[],int increment_length);
/**
*快速排序
*/
int Partition1(int *array,int low,int high);//第一种方法返回轴所在的位置
int Partition2(int *array,int low,int high);//第二种方法返回轴所在的位置
void QSort(int *array,int low,int high);
void QuickSort(int *array,int array_length);//快速排序
/**
*选择排序
*/
/**
* 1:简单选择排序
*/
void Simple_Select_Sort(int *array,int length);
/**
* 2:树形选择排序
*/
void Tree_Select_Sort(int *array,int length);
/**
* 3:堆排序
*/
/*
void HeapAdjust(HeapType &H,int s,int m);
void HeapSort(HeapType &H);
*/
/**
* 归并排序
*/
//1:递归MergeSort
void MergeSort1(int *array,int left,int right);
//2:非递归MergeSort
void MergeSort2(int *array,int length);
void MergePass(int x[],int y[],int s,int n);
void Merge(int c[],int d[],int t,int m,int r);
/**
* 基数排序
*/
void main()
{
cout<<"............排序算法........."<<endl;
int array[]={3,4,2,1,5,7,6};
//bubble(array,7);
//simple_swap(array,7);
//straight_insertSort(array,7);
//BInsertSort(array,7);
//BWInsertSortion(array,7);
//int a[]={2,3,1};
//ShellSort(array,7,a,3);
//QuickSort(array,7);
Simple_Select_Sort(array,7);
for(int i=0;i<7;i++)
cout<<array[i]<<" ";
}
/**
* 最简单的冒泡排序算法
*
* 冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。
*
* 由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。
*
*
*
* 时间复杂度:O(n*n)
*
* 标准的冒泡排序算法如下:
*/
//1:每一趟有一个最大的数沉到最底下
void bubble_sort1(int *array,int length)
{
for(int i=length-1;i>=1;i--)//对于每一个i,j从0到i-1,运行完成之后就叫做一趟
{
for(int j=0;j<i;j++)
{