exam4.cpp

来自「C++语言程序设计题典」· C++ 代码 · 共 70 行

CPP
70
字号
#include <iostream.h>
#include <iomanip.h>
template <class T>
class Array
{
	T *set;
	int n;
public:
	Array(T *data,int i) { set=data;n=i; }
	~Array() {}
	void sort();          //排序
	int seek(T key);      //查找指定的元素
	T sum();              //求和
	void disp();          //显示所有元素
};
template <class T>
void Array<T>::sort()
{
	int i,j;
	T temp;
	for (i=1;i<n;i++)
		for (j=n-1;j>=i;j--)
			if (set[j-1]>set[j])
			{
				temp=set[j-1];set[j-1]=set[j];set[j]=temp;
			}
}
template <class T>
int Array<T>::seek(T key)
{
	int i;
	for (i=0;i<n;i++)
		if (set[i]==key)
			return i;
	return -1;
}
template <class T>
T Array<T>::sum()
{
	T s=0;int i;
	for (i=0;i<n;i++)
		s+=set[i];
	return s;
}
template <class T>
void Array<T>::disp()
{
	int i;
	for (i=0;i<n;i++)
		cout << set[i] << " ";
	cout << endl;
}
void main()
{
	int a[]={6,3,8,1,9,4,7,5,2};
	double b[]={2.3,6.1,1.5,8.4,6.7,3.8};
    Array<int> arr1(a,9);
	Array<double> arr2(b,6);
    cout << "arr1:" << endl;
	cout << "  原序列:";arr1.disp();
	cout << "  8在arr1中的位置:" << arr1.seek(8) << endl;
	arr1.sort();
    cout << "  排序后:";arr1.disp();
    cout << "arr2:" << endl;
	cout << "  原序列:";arr2.disp();
	cout << "  8.4在arr1中的位置:" << arr2.seek(8.4) << endl;
	arr2.sort();
    cout << "  排序后:";arr2.disp();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?