排序算法
#include
using namespace std;
直接插入排序
void InsertSort(int *a,int n)
{
int i=0;
for(i=0;i=0)
{
if(tmp
希尔排序
//希尔排序
void ShellSort(int *a,int n)
{
int gap = n;
while(gap>1)
{
gap = gap / 2;//gap折半
int i=0;
//进行一趟排序
for(i=0;i= 0)
{
if(tmp
冒泡排序
//冒泡排序
void BubbleSort(int *a,int n)
{
int end = 0;
int t = 0;
for(end = n-1;end>=0;end--)
{
int exchange = 0; //记录该趟冒泡排序是否进行过交换
int i = 0;
for(i = 0;ia[i+1])
{
t=a[i];
a[i] = a[i+1];
a[i+1] = t;
exchange = 1;
}
}
if(exchange == 0) //该趟冒泡排序没有进行过交换,已经有序
{
break;
}
}
}
主函数
int main()
{
int a[10]={1,5,6,8,9,7,2,6,15,30};
//直接插入排序
InsertSort(a,10);
for(int i=0;i<10;i++){
cout<