您的位置:首页 > 其它

【排序算法】冒泡排序

2015-03-16 19:32 309 查看
#include <iostream>
using namespace std;

template <class Type>
void swap(Type* A, int i, int j){
Type temp = A[i];
A[i] = A[j];
A[j] = temp;
}

template <class Type>
void BubbleSort(Type* A, int n){
bool NoSwap = false;
int i,j;
for(i = 0; i < n-1;i++){
NoSwap = true;
for(j = n-1;j>i;j--)
if(A[j] < A[j-1]){
swap(A,j,j-1);
NoSwap = false;  //没有逆序对,说明这个序列是有序的
}
if(NoSwap) return;
}
}

int a[100];
int main(){
int n;
cin >> n;
for(int i = 0; i < n;i++)
cin >> a[i];
BubbleSort(a,n);
for(int i = 0; i < n;i++)
cout<< a[i] << " ";
cout<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: