冒泡排序
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; }