C++数据结构--插入排序
来源:互联网 发布:任那 知乎 编辑:程序博客网 时间:2024/05/29 18:00
*在进行第i遍时,[0 ,i-1]范围内的元素已经排序完毕
*第i遍的任务时通过扫描以前已分类的子表,给vec[i]在[0,i]的子表范围内找到正确的位置*插入排序并不需要额外的辅助空间,只是在原数组上进行排序
例如,对字符串数组Monroe,Chin,Flores,Stein,Dare进行插入排序
实现代码:
template<typename T>
void insertSort(vector<T> &vec)
{
for(int i=1;i<vec.size();i++)
{
T tem=vec[i];//用tem记下将要被插入排序的vec[i]
int j=i;
for(;j>0&&vec[j-1]>tem;j--)//扫描已分类的子表[0 ,i-1],给vec[i]在[0,i]的子表范围内找到正确的位置
{
vec[j]=vec[j-1];
}
vec[j]=tem;
}
}
int main()
{
vector<string> vec{string("Monroe"),string("Chin"),string("Flores"),string("Stein"),string("Dare")};
insertSort(vec);
for(string str:vec)
{
cout<<str<<ends;
}
return 0;
}
- 插入排序 --C数据结构
- 数据结构--插入排序(C语言)
- 数据结构(C#)_排序算法(插入排序)
- 数据结构(C#)_排序算法(插入排序)
- 数据结构c语言版之直接插入排序
- 数据结构 C语言实现直接插入排序
- 数据结构 排序 插入排序
- 【数据结构】:排序--插入排序
- [C++]数据结构:排序算法Part1----冒泡排序、选择排序、插入排序、堆排序
- [C++]数据结构:排序算法Part1----冒泡排序、选择排序、插入排序、堆排序
- {数据结构}直接插入排序
- 数据结构--直接插入排序
- 数据结构之 插入排序
- 数据结构-插入类型排序
- 【数据结构】直接插入排序
- 数据结构-插入排序算法
- 数据结构_插入排序
- java数据结构--插入排序
- cocos2dx在Eclipse下编译报错:Cannot find module with tag 'CocosDenshion/android' in import path
- Android拍照,上传,预览综合【修改】
- Ruby中Require、Load、Include和Extend的区别
- IOS Delegate传值
- 【SQL】MySQL的安装使用以及SQL语法简介
- C++数据结构--插入排序
- redis在.NET下的使用
- 人脸检测
- vim自动缩进
- HDU 2112
- wxPython摸索[01]——Python Win32程序的界面设计
- js
- PAT_1021: Deepest Root
- html跨域访问