请教:用面向对象的思想写一个冒泡排序,用C++封装成一个类?

来源:百度知道 编辑:UC知道 时间:2024/05/30 17:48:53
请教:用面向对象的思想写一个冒泡排序,用C++封装成一个类?

我想,我们不应该把一切东西都想像成一个对象。
冒泡排序是一个过程,排序的过程。要把一个过程弄成一个对象吗?

我想, 我们应该把一个数组定义为一个对象,这个数组拥有冒泡排序的功能。
typedef int ITEM;
class MyArray
{
public:
MyArray(ITEM [], int len);
void BubleSort(); // 冒泡排序
void Find(const ITEM& i); // 查找元素
...
void Print(); // 打印数组元素
~MyArray(); // 析构函数

private:
ITEM * _i;
int _length; // 数组长度
};

已经编译运行,结果正确!

#include <iostream>
using namespace std;

//////////////////////////////////////////////
class sort //冒泡排序类,只需排序功能
{
public:
void sortarray(int a[],int size);
};

//////////////////////////////////////////////////////
void main()
{
const int Maxsize=5; //数组元素个数可以改变,暂设为5
int arr[Maxsize],i;
cout<<"请输入Maxsize个数:"<<endl;
for (i=0; i<Maxsize; i++)
cin>>arr[i];

sort s1; //构造排序类的对象
s1.sorta