(1)“冒泡法” 冒泡法大家都较熟悉。其原理为从a[0]开始,依次将其和后面的元素比较,若a[0]>a[i],则交换它们,一直比较到a[n]。同理对a[1],a[2],...a[n-1]处理,即完成排序。下面列出其代码:void bubble(int *a,int n) /*定义两个参数:数组首地址与数组大小*/ { int i,j,temp; for(i=0;i
#include
#include
using namespace std;
void output(int array[],int n)
{
cout<<"array:";
for(int i=0;i
void BubbleSort(int array[],int n)
{
int i=0;
int j=0;
int temp;
for(i=0;i
for(j=0;j
{
temp=array[j+1];
array[j+1]=array[j];
array[j]=temp;
}
output(array,n);
}
}
int partion(int a[],int p,int r)
{
int x=a[r];
int middle=p;
for(int j=p;j
{
int temp=a[middle];
a[middle]=a[j];
a[j]=temp;
middle++;
}
}
int temp=a[r];
a[r]=a[middle];
a[middle]=temp;
return middle;
}
void QuickSort(int a[],int p,int r)
{
if(p
int q=partion(a,p,r);
QuickSort(a,p,q-1);
QuickSort(a,q+1,r);
}
}
void InsertSort(int array[],int n)
{
int i,j;
int temp;
for(i=0;i
for(j=i;j>0 && array[j-1]
temp=array[j];
array[j]=array[j-1];
array[j-1]=temp;
}
}
}
int main()
{
int array[]={0,-2,11,-4,13,-5,14,-43};
int choose;
cout<<"1:冒泡排序"<
cin>>choose;
switch(choose)
{
case 1: BubbleSort(array,7);
break;
case 2:QuickSort(array,0,7);break;
case 3:InsertSort(array,7);break;
default:break;
}
for(int i=0;i<=7;i++)
cout<
}
如果不需要动态显示排序过程可以函数中都Output函数的调用注释掉
具体看我上传的文档,里面说法很详细,希望能帮到你