大小不一的一摞饼,a[i]表示第i层饼的大小。设计一个函数void sort(int a[],int n)对n个饼进行翻转,使得大饼在下小饼在上排放,要求每次只能选择上方的一堆饼,一起翻转,并用一个类实现封装。
请为一下大神怎么用类封装啊
追答#include
using namespace std;
#define MAX 5
class Game
{
public:
void locationOfMin();//寻找当前最小数
void flip();//翻转
void sort();//排序
void print();//输出结果
Game();//构造函数,初始化
~Game();
private:
int arr[MAX];
int len;//数组长
int pArr;//指向数组最后,往前移动
int loc;//当前最小数位置
};
Game::Game()
{
//{0,2,4,3,1};
arr[0]=0;
arr[1]=2;
arr[2]=4;
arr[3]=3;
arr[4]=1;
len= MAX;
pArr=len -1;
}
void Game::locationOfMin()
{
int i,minNum = 10000;
for(i = 0;iarr[i])
{
minNum = arr[i];
loc = i;
}
}
}
void Game::flip()
{
int n = pArr - loc,m,temp;
m = n/2;
for (int i =0;i<=m;i++)
{
temp = arr[loc+i];
arr[loc+i] =