您的位置:首页 > 其它

冒泡排序

2012-11-15 14:40 288 查看
/*
* BubbleSort.cpp(冒泡排序)
*
*  Created on: 2012-4-22
*      Author: jiyiqin
*/
#include <iostream>
using namespace std;

/*冒泡排序*/
class BubbleSort{
private:
void swap(int *a, int *b){
int temp = *a;
*a = *b;
*b = temp;
}
public:

/**
* 冒泡排序
*/
void sort(int a[], int n){
int flag = 0;
for(int i=0;i<n;i++){
//每一轮内层循环下沉完成倒数第i大的元素
for(int j=0;j<n-i-1;j++){
if(a[j] > a[j+1]){
swap(&a[j], &a[j+1]);
flag = 1;
}
}
if(!flag) break;
}
}

/**
* 随机填充一个数组
* */
void radomArray(int a[], int size){
for(int i=0;i<size;i++){
a[i] = rand() % size;
}
}
};

int main(){
int arraySize = 15;
int *a = new int[arraySize];
BubbleSort bsort;

//随机生成一个数组
bsort.radomArray(a, arraySize);
for(int i=0;i<arraySize;i++){
cout<<a[i]<<" ";
}
cout<<endl;

//进行冒泡排序
bsort.sort(a, arraySize);
for(i=0;i<arraySize;i++){
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: