《数据结构与算法》--插入排序(类模板实现)
来源:互联网 发布:双色球内部数据 编辑:程序博客网 时间:2024/06/15 16:14
--InsertSort类模板:
#ifndef INSERTSORT_H#define INSERTSORT_H#include <vector>#include <iostream>using namespace std;template<typename T>class InsertSort{public:InsertSort(vector<T> _List,int _len);void Sort();void Output();private:int m_iLen;vector<T> m_List;};#endiftemplate<typename T>inline InsertSort<T>::InsertSort(vector<T> _List, int _len){for (int i = 0; i < _len; i++)m_List.push_back(_List[i]);m_iLen = _len;}template<typename T>inline void InsertSort<T>::Sort(){for (int i = 1; i < m_iLen; i++){if (m_List[i] < m_List[i - 1]){T temp = m_List[i];int j = i - 1;m_List[i] = m_List[i - 1];while (j >= 0 && temp < m_List[j]){m_List[j + 1] = m_List[j];j--;}m_List[j + 1] = temp;}}}template<typename T>inline void InsertSort<T>::Output(){for (int i = 0; i < m_iLen; i++){cout << m_List[i] << " ";if ((i+1) % 10 == 0)cout << endl;}cout << endl;}
--测试主程序:
#include "InsertSort.h"const int Len = 10;int a[Len] = { 16,48,9,2,94,16,48,45,545,45 };int main(){vector<int> testdata;for (int i = 0; i < Len; i++){testdata.push_back(a[i]);}InsertSort<int> test(testdata, Len);test.Sort();test.Output();system("pause");return 0;}
0 0
- 《数据结构与算法》--插入排序(类模板实现)
- 数据结构与算法:C++实现插入排序
- 数据结构与算法——插入排序(Java实现)
- 数据结构与算法-插入排序(java实现)
- 数据结构与算法(8)---Java语言实现:插入排序
- 数据结构与算法——插入排序以及C++函数模板实现
- 数据结构与算法(选择性插入排序)
- 【数据结构与算法】【排序】直接插入排序的代码实现
- 数据结构与算法——插入类排序(直接插入排序,希尔排序)
- 数据结构实现(插入排序、快速排序、统计排序类模板)
- 数据结构与算法-插入排序
- 【数据结构与算法】插入排序
- 算法与数据结构---插入排序
- 数据结构与算法专题之查找与排序——插入类排序(插入、希尔)
- [数据结构与算法]直接插入排序的实现
- 数据结构(插入排序算法)
- (数据结构与算法分析 八)------插入排序,希尔排序,归并排序的实现( Java语言描述)
- 数据结构与算法 -- 普通链表的插入、冒泡排序、选择排序、计数排序(c++实现)
- 手机office办公——微软推出安卓手机端Office Mobile应用
- AndroidStudio JNI NDK CMake
- ajax的属性与事件、解决a ja x数据重复提交问题
- 如何创建一个依赖Android AAR文件的React Native组件
- excel
- 《数据结构与算法》--插入排序(类模板实现)
- Laravel 响应
- this串联构造方法
- ResultSet用法集锦
- 设计模式(一):工厂方法模式
- Mac通过aapt命令查看apk的包名等信息
- JS判断页面是否在微信浏览器、QQ浏览器等打开的方法
- 牛客网前端技能大挑战(dom节点查找)
- devicesconsole工具介绍