C++重修第六章第二版探析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 模板与数据结构; 6.1 模板 ;void main(){ int a,b,c; double x,y,z; char s1[20],s2[20],s3[20]; …… //读入数据 coutmax(a,b,c)endl; coutmax(x,y,z)endl; coutmax(s1,s2,s3)endl; } 当如何支持此要求?;模板(template) ——数据类型参数化,实现通用性;6.1.1 函数模板及应用 ;6.1.1 函数模板及应用 ;;6.1.2 类模板与线性表;;6.1.2 类模板与线性表;【例6.3】顺序表类模板;//go on ;6.2 排序与查找 ;6.2.1 常用查找方法 ;8;low ;;*散列(Hash)查找:   是最快的查找方法   数据散列组织   利用散列技术查找;6.6.2 常用的排序法;第1次:将a[1]插入到a[0]组成的排序数组的适当位置; 第2次:将a[2]插入到a[0],a[1]组成的排序数组的适当位置; 第3次:将a[3]插入到a[0],a[1],a[2]组成的排序数组的适当位置; …… 第i次:将a[i]插入到a[0]…a[i-1]组成的排序数组的适当位置; …… 第n-1次: 最后一次;;;for(i=0;in-1;i++){ for(k=n-1; ki; k--) //第i次冒泡 if(a[k-1]a[k]) { 交换两者; } };;6.3 索引查找与指针数组 ;学号 ;——操作字符串数组;//建立串数组 //建立初始指向 for( i=0;i6;i++) //对“指针冒泡” for(j=6;ji;j--) //两两比较交换 //输出结果;6.4 模板与类参数 ;;;;6.5函数指针与指针识别(选读) 6.5.1 函数指针及其应用(选读);6.5.1 函数指针及其应用(选读);6.5.2指向类成员的指针(选读);6.5.2指向类成员的指针(选读);6.5.3 指针的识别方法(选读);第六章 模板与数据结构;【例6.2】矩阵运算;【例6.2】矩阵运算;【例6.2】矩阵运算;【例6.3】顺序表类模板;【例6.3】顺序表类模板;【例6.3】顺序表类模板;【例6.3】顺序表类模板;【例6.3】顺序表类模板;【例6.3】顺序表类模板;【例6.3】顺序表类模板;template typename T,int size int OrderedlistT,size:: Binarysearch (const T x,const int low,const int high){ int mid=-1; if (low=high){ mid=(low+high)/2; if(slist[mid]x) mid=Binarysearch(x,mid+1,high); //右查 else if(xslist[mid]) mid=Binarysearch(x,low,mid-1); //左查 } return mid; //返回下标;未找到但结束了,返回mid不加判断 };template typename T,int size class 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(); // 无关成员函数省略 }; ;;void main(){ const int h=19; int i,k=47; Orderedlistint,100 ordlist; int a[h]={2,3,5,7,11,13,17,19,23,29, 31,37,41,43,47,53,59,61,67}; Element n[h],elem; for(i=0;ih;i++) n[i].putkey(a[i]); for(i=0;ih;i++) ordlist.Insert(n[i],i); //建

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档