1:折半查找
int Binary_Search(int L[], int key,int Lsize)
{
int low = 0, high = Lsize, mid;
while (low<=high)
{
mid = (low+high)/2;
if (L[mid]==key)
{
return mid;
}
else if (L[mid]>key)
{
high = mid - 1;
}
else
{
low = mid + 1;
}
}
return -1;
}
2:单例模式
//Singleton.h
class Singleton
{
public:
static Singleton* GetInstance();
private:
Singleton() {}
static Singleton *m_pInstance;
};
//Singleton.cpp
Singleton* Singleton::m_pInstance = NULL;
Singleton* Singleton::GetInstance()
{
if(m_pInstance == NULL)
m_pInstance = new Singleton();
return m_pInstance;
}
该类有以下特征:
◆它的构造函数是私有的,这样就不能从别处创建该类的实例。
◆它有一个唯一实例的静态指针m_pInstance,且是私有的。
◆它有一个公有的函数,可以获取这个唯一的实例,并在需要的时候创建该实例。
3:平衡二叉树:
(1)左子树和右子树都是平衡二叉树。
(2)左子树和右子树的高度差的绝对值不超过1
4:红黑树:
(1)每个结点不是红色就是黑色。
(2)根结点是黑色
(3)如果结点是红色,子结点必须为黑色
(4)任一结点到NULL(树尾端)的任何路径,所含的黑结点数必须相同。