#include<iostream>
#include<algorithm>
using namespace std;
int A[100010]={0};
int B[100010]={0};
int Dubble_sort(int n)
{
int sum=0;
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
{
int a;
if(A[i]>A[j])
{
a=A[i];
A[i]=A[j];
A[j]=a;
sum++;
}
}
return sum;
}
int Insert_sort(int n)
{
int sum=0;
int i,j;
int tmp;
for(i=1;i<=n;i++)
{
tmp=B[i];
for(j=i;j>1&&A[j-1]>tmp;j--)
{
B[j]=B[j-1];
sum++;
}
B[j]=tmp;
}
return sum;
}
void Print_A(int n)
{
cout<<"排序结果:";
for(int i=1;i<=n;i++)
cout<<A[i]<<' ';
cout<<endl;
}
void Print_B(int n)
{
cout<<"排序结果:";
for(int i=1;i<=n;i++)
cout<<B[i]<<' ';
cout<<endl;
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>A[i];
B[i]=A[i];
}
int ans=0;
ans=Dubble_sort(n);
cout<<"冒泡排序交换次数:"<<ans<<endl;
Print_A(n);
ans=Insert_sort(n);
cout<<"插入排序交换次数:"<<ans<<endl;
Print_B(n);
return 0;
}
冒泡排序and插入排序
最新推荐文章于 2023-08-08 12:00:15 发布