#include<iostream>
using namespace std;
void InsertSort(int ar[],int n)
{
for (int i=2; i<n; ++i)
{
if (ar[i] < ar[i-1])
{
ar[0] = ar[i];
for (int j=i-1; ar[j] > ar[0]; --j)
{
ar[j+1] = ar[j];
}
ar[j+1] = ar[0]; //ar[j] <= ar[0]
}
}
}
void BInsertSort(int ar[], int n)
{
for (int i=2; i<n; ++i)
{
int low = 1;
int high = i-1;
int mid;
if (ar[i] < ar[i-1])
{
ar[0] = ar[i];
while (low <= high)
{
mid = (low + high)/2;
if ( ar[0] > ar[mid] )
{ low = mid+1;}
else
{ high = mid -1;}
}
for (int j=i; j>low; --j)
{
ar[j] = ar[j-1];
}
ar[low] = ar[0];
}
}
}
void BubbleSort(int ar[],int n)
{
for (int i=0; i<n-1; ++i)
{
for (int j=0; j<n-i-1; ++j)
{
if (ar[j] > ar[j+1])
{
int tmp = ar[j];
直接插入排序、折半插入排序、冒泡排序、快速排序的算法实现
最新推荐文章于 2021-12-12 23:24:52 发布