冒泡排序

来源:互联网 发布:美萍足浴软件使用教程 编辑:程序博客网 时间:2024/05/23 01:53
/* * 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;}