C++解决冒泡排序
冒泡排序的算法思想:第一躺将最大的数排到末尾,下一趟,将剩余数中的最大数排到倒数第二个位置上…即每执行一次外循环,就有一个大数被排到相应的位置
#include<iostream>
# define N 100
using namespace std;
void sort(int A[],int n){
int i,j,t;
//冒泡排序的算法思想:第一躺将最大的数排到末尾,下一趟,将剩余数中的最大数拍到倒数第二个位置上
/*故最大的数排到最后需要n-1次比较,剩余元素中最大的数排到倒数第二位需要n-1-1次....
即每个数排到相应位置需要比较的次数是n-i-1*/
for(i=0;i<n-1;i++){
for(j=0;j<n-i-1;j++){
if(A[j]>A[j+1]) t=A[j],A[j]=A[j+1],A[j+1]=t;//按照从小到大排列
}
}
}
int main(){
int i,n,a[N];
cout<<"输入要进行排序的数的个数:"<<endl;
cin>>n;
for(i=0;i<n;i++){
cin>>a[i];
}
sort(a,n);//调用冒泡排序函数
cout<<"从小到大排序后:"<<endl;
for(i=0;i<n;i++){
cout<<a[i]<<" ";
}
}