1、该数组类的定义和前一篇文章中基本一样,只是增加了几个成员函数,实现对数组的一些特定的操作。
#ifndef INTARRAY_H_INCLUDED
#define INTARRAY_H_INCLUDED
//创建一个数组类,实现下标的越界检查。
class IntArray
{
private:
int list[20];
//判断下标是否有效
bool isValid(int);
public:
IntArray();
bool set(int,int);
bool get(int,int&);
//增加几个成员函数,练习对数组的操作
//线性查找特定的值,成功时返回该值的下标,失败返回-1
int linearSearch(int);
//二分法查找特定的值,返回值同上
int binarySearch(int);
//对数组进行冒泡排序
void bubbleSort(void);
//对数组进行选择排序
void selectionSort(void);
};
#endif // INTARRAY_H_INCLUDED
2、函数实现,同上一篇文章,这里只是截取了几个增加的函数成员的代码。
//线性查找:直接遍历数组中所有元素
int IntArray::linearSearch(int val)
{
for(int i = 0;i<20;i++)
{
if(list[i] == val)
return i;
}
return -1;
}
//二分法查找,先对数组进行排序,然后从中间开始比较
int IntArray::binarySearch(int val)
{
int f