群体数据:
自定义类型的数据是由多个基本类型或自定义类型的元素组成的,我们称之为群体数据。
群体类:
对于群体数据,仅有系统预定义的操作时不够的,在很多情况下,还需要设计与某些具体问题相关的特殊操作,并按照面向对象的方法将数据与操作封装起来,这就是群体类。
函数模板:
模板时C++支持参数化程序设计的工具,通过它可以实现参数化多态性。所谓参数化多态性,就是将程序所处理的对象的类型参数化,使得一段程序可以用于处理多种不同类型的对象。
函数模板的定义:
template
tempalge
T abs(T x)
{
return x < 0? –x : x;
}
int main(){
int n = -1;
double d = 1.1
cout << abs(n) << endl;
cout << abs(d) << endl;
}
类模板:
使用类模板使得用户可以为类生命一种模式,使得类中的某些数据成员、某些成员函数的参数、某些成员函数的返回值能取任意类型。
类模板的声明:
template <模板参数表>
class 类名
{ 类成员声明 }
在类模板以外定义其成员函数:
template <模板参数表>
类型名 类名
使用一个模板来建立对象:
模板<模板参数表> 对象名1,…,对象名n;
线性群体:
1、线性群体的概念:线性群体中元素次序与其位置关系是对应的。可以按照访问元素的不同方法分为直接访问、顺序访问和索引访问。 2、直接访问群体——数组类 3、顺序访问群体——链表类 4、栈类 5、队列类
群体数据的组织:
插入排序 选择排序 交换排序 顺序排序 折半排序