数据结构与算法补充

函数模板:

例1:

实际中对不同类型数据可用排序函数sort

template<class T>

return-typr sort(…T…  )

实际输出函数例子:

//制作模板

//传入参数array的类型不确定

template<class T>

void print(const T array[], int size)

{

int i;

for(i=0; i<size; i++) cout<<array[i];

return ;

}

//使用模板,传入数组类型为整型

int a[10]; print(a, 10); 

一个函数模板里能有两个不确定的变量,如template <classT1, class T2>

 

类模板

例2:

template <class T>//类模板的首部,声明类模板的变量

class Carray

{

T *ptrElement;

int size

public:

Carray(int length);

~Carray();

int len();

void setElement(T arg, int index);

T getElement(int index);

 

Carray<int> arrayInt(50), *ptrArrayInt;

//创建一个元素类型为int的carrray模板类,并声明该模板类的一个对象,以及一个指针

//不同模板参数产生的模板类,不是同一个类

 

流操纵算子

double x = 1234567.89, y = 12.34567;

int n = 1234567

int m = 12;

cout << setprecision(6) << x << endl << y << endl << n << endl << m;//设置精度为6

//输出:

1.23457e+006

12.3457

1234567

12

double x = 1234567.89, y = 12.34567;

int n = 1234567

int m = 12;

cout << setiosflags(ios::fixed) << setprecision(6) << x << endl << y << endl << n << endl << m;

//设置小数点后保留6位

//输出:

1234567.890000

12.345670

1234567

12

设置域宽

cin.width(5);

cin >> string;

cout << string <<endl;

cin >> string;

cout << string <<endl;

//输入:1234567890

输出:1234(自动补\0)

567890

 

调试法:

1,等价类调试法

2,边界值分析法

posted @ 2015-09-24 09:29  李杨阳  阅读(165)  评论(0)    收藏  举报