冒泡排序
不多说,看代码,就是把最大的数字或者最小的数字沉到最右边,最后输出数组
#include<iostream>
#include<stdlib.h>
#include<math.h>
using namespace std;
int main()
{
int a[1000];
int n,t,k;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}//输入你要排序的数字
for(int i=0;i<n-1;i++) //一共从头开始比较n-1趟
{
for(int j=0;j<n-i-1;j++) //每趟比较n-i-1次
{
if(a[j]>a[j+1])
//如果左边的数字比右边大,交换两个数字的位置,这一块也可用函数swap代替,但是要加上头文件“#include<math.h>”
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
//swap(a[j],a[j+1]);
}
}
}
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
} //输出排序后的数字
return 0;
}
选择排序
第一次,从初始序列中找最小(大)的元素,然后与第一个元素交换位置,接着从第二个元素开始的剩余序列中,再找最小(大)的元素