正在加载图片...
713常用类和函数 总的排序类 emplate <class Record class compare> ■总的排序类 r【//总排 Compare类 交换数组中的两个元素 static void swap(Record array,int i, int D); p函数 PrintArray函数 //对数组Aray进行排序 void Sort(Record Array[,int n); /输出数组内容 举位▲张倍墙写 tti void PrintArray(Record arrayAl, int n); 张铭写 叔新有,命邮 Compare类 int intcompare类 Compare类是用来比较记录的 class int_ intCompare t /比较两个整型记录大小 排序码 publiC: 模板参数,方便针对不同类型的 static bool lt(int x,int y ireturn x<yil 排序码进行比较 static bool eq(int x, int y) return x==yi] static bool gt (int x, int y return x>yi] ■为了简便起见,本教材讨论整数 tatic bool le int x, int y ireturn x<=yil 排序的例子 static bool ge int x,int y ireturn x>=yi] 北真大脆张写 版叔斯有就即究 真大影张帖写 叔新有,量究 swap函数 PrintArray函数 template <class Record, class Compare> template <class record, class Compare> void Sorter<Record Compare> void Sorter<Record, Compare> swap(Record array[]int i, int J PrintArray (Record Array, int n) //交换数组中的两个元素 //输出数组内容 ecord TempRecord Array[i] for(int i=O;i<n;i++) Array[i] array]; cout <<Array[i]<<i Array[] TempRecord cout<<endl 北真大学张铭编写 聊张帖写 权新有,究3 北京大学信息学院 张铭编写 ©版权所有,转载或翻印必究 Page 13 7.1.3 常用类和函数 „ 总的排序类 „ Compare类 „ Swap函数 „ PrintArray函数 北京大学信息学院 张铭编写 ©版权所有,转载或翻印必究 Page 14 总的排序类 template <class Record,class Compare> class Sorter{ //总排序类 protected: //交换数组中的两个元素 static void swap(Record Array[],int i,int j); public: //对数组Array进行排序 void Sort(Record Array[],int n); //输出数组内容 void PrintArray(Record array[], int n); }; 北京大学信息学院 张铭编写 ©版权所有,转载或翻印必究 Page 15 Compare类 „ Compare类是用来比较记录的 排序码 „ 模板参数,方便针对不同类型的 排序码进行比较 „ 为了简便起见,本教材讨论整数 排序的例子 北京大学信息学院 张铭编写 ©版权所有,转载或翻印必究 Page 16 int_intCompare 类 class int_intCompare { //比较两个整型记录大小 public: static bool lt(int x,int y) {return x<y;} static bool eq(int x,int y) {return x==y;} static bool gt(int x,int y) {return x>y;} static bool le(int x,int y) {return x<=y;} static bool ge(int x,int y) {return x>=y;} }; 北京大学信息学院 张铭编写 ©版权所有,转载或翻印必究 Page 17 swap函数 template <class Record,class Compare> void Sorter<Record,Compare>:: swap(Record Array[],int i,int j) { //交换数组中的两个元素 Record TempRecord = Array[i]; Array[i] = Array[j]; Array[j] = TempRecord; } 北京大学信息学院 张铭编写 ©版权所有,转载或翻印必究 Page 18 PrintArray函数 template <class Record,class Compare> void Sorter<Record,Compare>:: PrintArray(Record Array[], int n) { //输出数组内容 for(int i=0;i<n;i++) cout<<Array[i]<<" "; cout<<endl; }
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有