c基本知识点6模板.ppt
文本预览下载声明
第六章 模板与数据结构;第六章模板与数据结构;6.1 模板 ;6.1.1 函数模板及应用 ;6.1.1 函数模板及应用;6.1.1 函数模板及应用;6.1.1 函数模板及应用;6.1.1 函数模板及应用;6.1.1 函数模板及应用;6.1.2 类模板与线性表; 6.1.2 类模板与线性表; 6.1.2 类模板与线性表; 6.1.2 类模板与线性表;6.1.2 类模板与线性表;6.1.2 类模板与线性表;6.1.2 类模板与线性表;6.1.2 类模板与线性表;【例6.3】顺序表类模板;6.2 排序与查找 ;6.2.1 常用查找方法 ;6.2.1 常用查找方法;6.2.1 常用查找方法—对半查找;6.2.1 常用查找方法;6.2.1 常用查找方法;6.2.1 常用查找方法;6.2.1 常用查找方法;6.6.2 常用的排序法;6.2.2 常用的排序法;6.6.2 常用的排序法;6.2.2 常用的排序法;6.2.2 常用的排序法;6.3 索引查找与指针数组 ;学号 ;6.3索引查找与指针数组;6.4 模板与类参数 ;6.4 模板与类参数 ;6.4 模板与类参数;6.5函数指针与指针识别(选读)6.5.1 函数指针及其应用(选读);6.5.1 函数指针及其应用(选读);6.5.2指向类成员的指针(选读);6.5.2指向类成员的指针(选读);6.5.3 指针的识别方法(选读);6.5.3 指针的识别方法(选读);6.5.3 指针的识别方法(选读);第六章 模板与数据结构;【例6.2】矩阵运算;【例6.2】矩阵运算;【例6.2】矩阵运算;【例6.3】顺序表类模板;【例6.3】顺序表类模板;【例6.3】顺序表类模板;【例6.3】顺序表类模板;【例6.3】顺序表类模板;【例6.3】顺序表类模板;【例6.3】顺序表类模板;【例6.3】顺序表类模板;【例6.4】对半查找递归算法;有序表和结点类模板定义,基本元素为类Elemen对象 :
class Element{
int key; // 其他域省略
public:
bool operator(Element ele){return keyele.key;}
void putkey(int k){key=k;}
void show(){coutkey\t;}
}; //重载了比较运算符,元素的比较,实际是元素关键字的比较
template typename T,int sizeclass Orderedlist{
int maxsize;
int last;
T slist[size];
public:
Orderedlist(){last=-1;maxsize=size;}
int Binarysearch(T x,const int low,const int high);
bool Insert(T elem,int i);
void print(); // 无关成员函数省略
}; ;【例6.4】对半查找递归算法;【例6.4】对半查找递归算法;【例6.5】对半查找迭代算法;【例6.6】升序直接插入排序算法;class Element{
string key; // 其他域省略
public:
bool operator(Element ele){return keyele.key;}
void putkey(string k){key=k;}
void show(){coutkey\t;} };
int main(){
const int h=10; Element n[h];
int i; OrderedlistElement,100 ordlist;
string mslist[h]={cat,book,car,zoo,fish,
cab,dog,cap,fox,can};
for(i=0;ih;i++) n[i].putkey(mslist[i]);
for(i=0;ih;i++) ordlist.Insert(n[i],i); //建立顺序表
cout未排序表:endl;
ordlist.print();
ordlist.InsertSort();
cout已排序表:endl;
ordlist.print();
return 0;};【例6.7】升序对半插入排序算法;【例6.8】冒泡排序算法;【例6.8】冒泡排序算法;【例6.8】冒泡排序算法;【例6.9】直接选择排序;【例6.10】冒泡排序算法 ;【例6.10】冒泡排序算法 ;【例6.10】冒泡排序算法 ;【例6.11】求积分的类模板 ;【例6.11】求积分的类模板 ;【例6.11】求积分的类模
显示全部