冒泡排序、插入排序、快速排序C++编程
为工作而准备的,自己用VS2010写的。。
#include <iostream>
using namespace std;
void maopao(int input[],int n)
{
cout<<"冒泡排序:"<<endl;
int i,j,k;
for(i=n;i>0;i--)
{
for(j=0;j<i-1;j++)
{
if(input[j]>input[j+1])
{
input[j]+=input[j+1];
input[j+1]=input[j]-input[j+1];
input[j]-=input[j+1];
}
}
for(k=0;k<n;k++)
cout<<input[k]<<" ";
cout<<endl;
}
}
void insertsort(int input[],int n)
{
cout<<"插入排序:"<<endl;
int i,j,k;
for(i=1;i<n;i++)
{
for(j=i-1;j>=0;j--)
{
if(input[j+1]>=input[j])
break;
else
{
input[j]+=input[j+1];
input[j+1]=input[j]-input[j+1];
input[j]-=input[j+1];
}
}
for(k=0;k<n;k++)
cout<<input[k]<<" ";
cout<<endl;
}
}
void qicksort(int a[],int left,int right)
{
int i,j;
if(left<right)
{
i=left;
j=right;
int temp=a[left];
do
{
while(a[j]>temp&&i<j)
j--;
if(i<j)
{
a[i]=a[j];
i++;
}
while(a[i]<temp&&i<j)
i++;
if(i<j)
{
a[j]=a[i];
j--;
}
} while (i<j);
a[i]=temp;
// int k;
// for(k=0;k<6;k++)
// cout<<a[k]<<" ";
// cout<<endl;
qicksort(a,left,i-1);
qicksort(a,i+1,right);
}
}
void main()
{
int a[]={10,5,8,4,2,6};
int i;
for(i=0;i<6;i++)
cout<<a[i]<<" ";
cout<<endl;
//maopao(a,6);
//insertsort(a,6);
qicksort(a,0,5);
//for(i=0;i<6;i++)
//cout<<a[i]<<" ";
//cout<<endl;
system("pause");
}
还没有评论,来说两句吧...