05.設(shè)計(jì)一個(gè)類Sample,它有兩個(gè)私有成員A[]和n(A中元素個(gè)數(shù)),將對(duì)A[]中數(shù)據(jù)進(jìn)行各種排序的函數(shù)放入到一個(gè)友元類process中。
解:
process類不包含任何數(shù)據(jù)成員,包含的公共成員函數(shù)如下:
getdata(Sample &s); 用于獲取對(duì)象s的數(shù)據(jù)
insertsort(Sample &s); 用于進(jìn)行插入排序
shellsort(Sample &s); 用于進(jìn)行希爾排序
bubblesort(Sample &s); 用于進(jìn)行冒泡排序
quicksort(Sample &s); 用于進(jìn)行快速排序
selectsort(Sample &s); 用于進(jìn)行選擇排序
disp(Sample &s); 用于輸出數(shù)據(jù)
本題程序如下:
#include
#define Max 100
class Sample
{
int A[Max];
int n;
friend class process;
public:
Sample(){n=0;}
};
class process
{
void qsort(Sample &s,int l,int h);
// 私有成員,由quicksort()成員調(diào)用
public:
void getdata(Sample &s);
void insertsort(Sample &s);
void shellsort(Sample &s);
void bubblesort(Sample &s);
void quicksort(Sample &s);
void selectsort(Sample &s);
void disp(Sample &s);
};
void process::getdata(Sample &s)
{
int i;
cout<<"元素個(gè)數(shù):";
cin>>s.n;
for(i=0;i {
cout<<"輸入第"< cin>>s.A[i];
}
}
解:
process類不包含任何數(shù)據(jù)成員,包含的公共成員函數(shù)如下:
getdata(Sample &s); 用于獲取對(duì)象s的數(shù)據(jù)
insertsort(Sample &s); 用于進(jìn)行插入排序
shellsort(Sample &s); 用于進(jìn)行希爾排序
bubblesort(Sample &s); 用于進(jìn)行冒泡排序
quicksort(Sample &s); 用于進(jìn)行快速排序
selectsort(Sample &s); 用于進(jìn)行選擇排序
disp(Sample &s); 用于輸出數(shù)據(jù)
本題程序如下:
#include
#define Max 100
class Sample
{
int A[Max];
int n;
friend class process;
public:
Sample(){n=0;}
};
class process
{
void qsort(Sample &s,int l,int h);
// 私有成員,由quicksort()成員調(diào)用
public:
void getdata(Sample &s);
void insertsort(Sample &s);
void shellsort(Sample &s);
void bubblesort(Sample &s);
void quicksort(Sample &s);
void selectsort(Sample &s);
void disp(Sample &s);
};
void process::getdata(Sample &s)
{
int i;
cout<<"元素個(gè)數(shù):";
cin>>s.n;
for(i=0;i
cout<<"輸入第"< cin>>s.A[i];
}
}