类模板实现数组排序
来源:互联网 发布:单片机助手 编辑:程序博客网 时间:2024/06/15 00:13
先写出单个类型排序类,再在此基础上变成类模板。
/*用类模板来完成下列工作:(1) 定义一个数组类模板,能对数组进行排序及求最大元素值,并重载“[ ]”运算符。(要求同时处理“整型数组、实型数组、字符数组”);(2) 定义一个栈类模板,实现其入栈和出栈操作。*/#include<iostream>using namespace std;template <class numtype>class Num{private: numtype a[10]; int number; numtype Max;public: Num(numtype *p, int geshu); void sort(); void show(); numtype operator[](int);};template <class numtype>Num<numtype>::Num(numtype *p, int geshu){ number = geshu; for (int i = 0; i < number; i++) { a[i] = *(p + i); }}template <class numtype>void Num<numtype>::sort(){ for (int i = 0; i < number; i++) { for (int j = i + 1; j < number; j++) { if (a[i] < a[j]) { numtype swap; swap = a[i]; a[i] = a[j]; a[j] = swap; } } } Max = a[0];}template <class numtype>void Num<numtype>::show(){ cout << "排序后的数组为" << endl; for (int i = 0; i < number; i++) { cout << a[i] << '\t'; } cout << endl;}template <class numtype>numtype Num<numtype>::operator[](int i){ if (i >= 0) return a[i]; if (i < 0) return Max;}int main(){ int aa[5] = { 1,2,3,4,5 }; char bb[5] = "abcd"; double cc[5] = { 1.2,2.1,4.5,8.5,3.4 }; Num <int>test1(aa, 5); //要这样声明 Num <char>test2(bb, 5); Num <double>test3(cc, 5); test1.sort(); test1.show(); cout << "最大的为:" << endl; cout << test1[-1] << endl; test2.sort(); test2.show(); cout << "最大的为:" << endl; cout << test2[-1] << endl; test3.sort(); test3.show(); cout << "最大的为:" << endl; cout << test3[-1] << endl; system("pause"); return 0;}
阅读全文
0 0
- 类模板实现数组排序
- 模板函数实现数组排序
- c++ 模板学习笔记:函数模板实现数组通用排序和遍历打印(权哥)
- 数据结构实现(动态数组类模板)
- C++模板实现智能数组类
- C++数组实现队列、堆栈、模板类
- C++ 数组模板类的实现 DynamicArray
- 模板类 通用数组的实现
- c++模板类实现算法堆排序
- 快速排序----模板实现
- 模板实现冒泡排序
- 类模板的应用--用类模板实现动态数组
- java类实现数组的五种排序 冒泡排序、选择排序、插入排序、希尔排序、数组排序
- 类实现数组去重及排序
- 数组实现快速排序
- 选择排序----数组实现
- 友元类实现数组排序
- 堆排序【数组实现】
- 第四章 一个失去部队的将军 还不如一个回作战的小兵
- TCP协议详解(慢启动,流量控制,阻塞控制之类)
- HTML5_canvas
- 二分大法示例-cf的Enduring Exodus
- Javascript实现选项卡功能
- 类模板实现数组排序
- 1、zookeeper简介
- 深入理解计算机操作系统(2.1.8 2.1.9)
- 编程题目索引
- Oracle视图与索引
- Java面向对象三大特征之多态
- random的使用
- Java8 Stream 归约 使用示例
- JVM垃圾收集器详解