ALDS1_2_A: Bubble Sort

「ALDS1_2_A: Bubble Sort」の編集履歴(バックアップ)一覧に戻る

ALDS1_2_A: Bubble Sort - (2016/03/30 (水) 06:45:59) のソース

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_2_A
バブルソートを実装する問題。

 #include <iostream>
 #include <stdio.h>
 #include <algorithm>
 using namespace std;
 
 int bubbleSort(int *A, int N){
	int flag=1,count=0;
	while(flag){
		flag=0;
		for(int j=N-1;j>0;j--){
			if(A[j]<A[j-1]){
				std::swap(A[j],A[j-1]);
				flag=1;
				count++;
			}
		}
	}
	return count;
 }
 
 int main() {
	// your code goes here
	int N,A[101];
	scanf("%d",&N);
	for(int i=0;i<N;i++){
		scanf("%d",&A[i]);
	}
	int c=bubbleSort(A,N);
	for(int i=0;i<N;i++){
		if(i>0)printf(" ");
		printf("%d",A[i]);
	}
	printf("\n%d\n",c);
	return 0;
 }