冒泡代码:
#include<iostream>
#include<string>
#include<ctime>
using namespace std;
int main()
{
int n;
int temp;
cin>>n;
int *a=new int[n];
for(int x=0;x<n;x++)
{
cin>>a[x];
}
//clock_t begin,end;double time;
//begin=clock();
for(int i=n-1;i>=0;i--)
{
// if(i==0)
// break;
for(int j=0;j<i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];a[j]=a[j+1];a[j+1]=temp;
}
}
}
for(int k=0;k<n;k++)
{
cout<<a[k]<<" ";
}
//end=clock();
//time=(double)((double((end)-begin))/CLOCKS_PER_SEC);
//cout<<time<<endl;
return 0;
}
选择排序代码:
//这个还有把重复的数据剔除的功能,若不需要,可自行稍微改动即可
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
int main()
{
int *a;int n;
a=new int[n];
cout<<"请输入数组的宽度:"<<endl;
cin>>n;
for(int k=0;k<n;k++)
{
cin>>a[k];
}
int j=0;
for(int i=0;i<n;i++)
{
//j=i;
for(int j=0;j<n-i;j++)
{
int temp;
if(a[i]>a[j+i]) {temp=a[i];a[i]=a[j+i];a[j+i]=temp;}
//else if(a[i]==a[j+i]) {continue;}
else {a[i]=a[i];}
}
if(a[i]==a[i-1]) {continue;}
else {cout<<a[i]<<" ";}
}
return 0;
}