冒泡排序在c++中很常见,主要代码如下:
#includeusing namespace std; int main(){ int n; cin>>n; int a[n]; for(int i=0;i >a[i]; for(int i=n-1;i>0;i--){//循环n-1次,从第一个元素到倒数第二个元素 for(int j=0;ja[j+1]){//有j+1个数组,所以不会出现不完整 int t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } for(int i=0;i 当然了,冒泡也有优化的写法,就是只要又一次没有进行数据交换,我们就直接打破循环。所以只要多定义一个bool变量。
#includeusing namespace std; int main(){ int n; cin>>n; int a[n]; for(int i=0;i >a[i]; bool as; for(int i=n-1;i>0;i--){//循环n-1次,从第一个元素到倒数第二个元素 as=0;//每一次循环设置初始状态 for(int j=0;ja[j+1]){//有j+1个数组,所以不会出现不完整 int t=a[j]; a[j]=a[j+1]; a[j+1]=t; as=1; } } if(!as)break;//没有进行数据交换,就退出 } for(int i=0;i



