一本通 1310:【例2.2】车厢重组 经典冒泡 爸爸写的

4 3 2 1

排序过程:

3 4 2 1
3 2 4 1
3 2 1 4
2 3 1 4
2 1 3 4
1 2 3 4
 

#include<bits/stdc++.h>
using namespace std;
int a[10005];
int n;
void printa(){	
	for(int i=0;i<n;i++){
		cout<<a[i]<<" ";		
	}
	cout<<endl;
}
int main(){	
  	freopen("test.in","r",stdin);
  	freopen("test.out","w",stdout);
  	cin>>n;
	for(int i=0;i<n;i++){
		cin>>a[i];		
	} 
	int sum = 0;
	for(int i=0;i<n;i++){
		int is_break=1;
		for(int j=0;j<n-1;j++){
			if(a[j]>a[j+1]){
				swap(a[j],a[j+1]);
				is_break=0;
				++sum;
			}
//			printa();
		}
		if(is_break){
//			cout<<"###########"<<endl;
			break;
		}
	}	
	cout<<sum<<endl;
	return 0;
}
发布了33 篇原创文章 · 获赞 0 · 访问量 167

猜你喜欢

转载自blog.csdn.net/weixin_42790071/article/details/105435002