基本排序查找(模版)
来源:互联网 发布:霸屏软件 编辑:程序博客网 时间:2024/05/28 09:33
//插入排序
template<typename T>
void chaRu_paiXu(T a[],int n)
{
T temp;
int i,j;
for(i=1;i<n;i++)
{
j = i;
temp = a[j];
while(j>0 && temp<a[j-1])
{
a[j] = a[j-1];
j--;
}
a[j] = temp;
}
}
template<typename T>
void Swap(T &x,T &y)
{
T temp = x;
x = y;
y = temp;
}
//选择排序
template<typename T>
void xuanZe_paiXu(T a[],int n)
{
int i,j,small;
for(i=0;i<n-1;i++)
{
small = i;
for(j=i+1;j<n;j++)
{
if(a[j]<a[small])
{
small = j;
}
Swap(a[i],a[small]);
}
}
}
//冒泡排序
template<typename T>
void maoPao_paiXu(T a[],int n)
{
int i,j;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(a[j] >a[j+1])
{
Swap(a[j],a[j+1]);
}
}
}
}
//顺序查找
template<typename T>
int shunXu_chaZhao(T a[],int n,T key)
{
int i;
for(i=0;i<n;i++)
{
if(a[i] == key)
return i+1;
}
return 0;
}
//折半查找
template<class T>
int zheBan(T a[],int n,T key)
{
int mid,low,high;
T midValue;
low = 0;
high = n-1;
while(low<=high)
{
mid = (low+high)/2;
midValue = a[mid];
if (midValue == key)
{
return mid + 1;
}
else if (midValue > key)
{
high = mid - 1;
}
else
{
low = mid + 1;
}
}
return 0;
}
//英语实在不怎么地;
- 基本排序查找(模版)
- 排序(模版+代码)
- 插入排序(模版)
- 归并排序(模版)
- 堆排序(模版)
- php基本的排序查找
- 【模版】快速排序,二分查找及其求其上下界函数
- 基本模版
- 模版排序
- 找工作-基本查找排序算法总结
- java数据结构和算法---基本查找排序
- 基本数据结构(栈,队,列)模版
- hdu 1285 拓扑排序(模版)
- 二分查找模版
- 二分查找模版
- 二叉查找树模版
- LIS-二分查找模版
- js基本算法--冒泡排序法、快速排序法、插入排序法、二分查找法(递归、非递归)
- 0-1背包
- 福布斯荐75本经商必读
- JasperReport 类介绍
- oralce flashback 使用方法总结
- 7.2.3. Boxes
- 基本排序查找(模版)
- 笨笨数据压缩教程--序
- 关于嵌入式linux下开发cgi程序应该注意的问题
- 在控制台程序中隐藏控制台窗口
- 笨笨数据压缩教程--第一章 轻松一下:数据压缩简史
- ArcGis 介绍
- 笨笨数据压缩教程--第二章 技术准备:概率、模型和编码
- 有理想的程序员必须知道的15件事
- c++强制类型转换:dynamic_cast、const_cast 、static_cast、reinterpret_cast