使用模板实现冒泡法
来源:互联网 发布:淘宝买兔子红烧 编辑:程序博客网 时间:2024/06/04 17:49
使用模板实现冒泡法
之前的冒泡法可以排序一种类型,学习模板类后,我们可以使用模板实现各种类型的比较,以及需要比较sz个字符
代码如下:
#include<iostream>using namespace std;template<class T>struct Less //降序{bool operator()(const T& left,const T& right){return left < right;}};template<class T> //升序struct Greater{bool operator()(const T& left, const T& right){return left > right;}};template<class T, class Compare>void Bubble_Sort(T *array, int sz){if (*array == NULL) //空指针return;if (sz <= 1) //空数组或只有一个数return;int i = 0;int j = 0;bool IsChange = false;for (i = 0; i < sz - 1; i++){IsChange = false;for (j = 0; j < sz - 1 - i; j++){if (Compare()(array[j], array[j + 1])){IsChange = true;swap(array[j], array[j + 1]);}}if (IsChange == false)return;}}void test(){int array[] = { 1, 2, 4, 7, 3, 6, 5, 8, 9 };int sz = sizeof(array) / sizeof(array[0]);Bubble_Sort<int, Greater<int>>(array, sz);for (int i = 0; i < sz; i++){cout << array[i] << " ";}}int main(){test();system("pause");return 0;}
阅读全文
0 0
- 使用模板实现冒泡法
- C++ 使用模板实现冒泡排序
- 模板实现冒泡排序
- 冒泡排序C++模板实现
- 函数模板实现冒泡排序
- C++模板实现冒泡排序
- 冒泡法模板排序
- 利用c++模板实现冒泡排序
- C++模板实现通用冒泡排序
- 排序函数模板 冒泡法
- 使用单循环实现冒泡排序
- 使用C++实现冒泡排序
- 冒泡法--java实现
- java实现冒泡法
- 实现bubble_sort<冒泡法>
- 8.16编写一个函数模板,使用冒泡法将数组内容从小排列到大
- 使用模板实现多态性
- 冒泡排序法排序操作模板
- ubuntu16.04详细安装pytorch(GPU)
- 决策单调性 1D1D优化
- 你是如何自学 Python 的?
- MySQL的初始化,密码,授权
- Merge join、Hash join、Nested loop join对比分析
- 使用模板实现冒泡法
- 594. Longest Harmonious Subsequence (map)
- C++中使用虚函数以及派生类来实现图形的派生后的一些图形的面积
- 安全狗CEO陈奋:企业安全运维也可以如此便捷而强大
- 腾讯发布悬疑海报 或将在反诈骗领域有新动作
- FLYPRO飞豹无人机对B轮融资事件发表声明
- 财色双收 既能看仲基又能抢红包的神器快无边界vivo Xplay5
- 你必须自己决定,然后承担后果
- LayoutParams类