今天學習stl常用查詢演算法。
學習目標:
演算法簡介:
1 find
功能描述:
函式原型:
#include
using
namespace std;
#include
#include
#include
void
test01()
//查詢有沒有5這個元素
vector<
int>
::iterator it =
find
(v.begin()
, v.
end(),
5);if
(it == v.
end())
else
}class
person
//過載==
bool
operator==(
const person &p)
else
}int m_age;
string m_name;};
void
test02()
else
}int
main()
總結: 利用find可以在容器中找指定的元素,返回值是迭代器5.2.2 find_if
功能描述:
函式原型:
#include
using
namespace std;
#include
#include
#include
class
greaterfive};
void
test01()
//查詢有沒有5這個元素
vector<
int>
::iterator it =
find_if
(v.begin()
, v.
end(),
greaterfive()
);if(it == v.
end())
else
}class
person
//過載==
bool
operator==(
const person p)
else
}int m_age;
string m_name;};
class
greater20};
void
test02()
else
}int
main()
總結:find_if按條件查詢使查詢更加靈活,提供的仿函式可以改變不同的策略3 adjacent_find
功能描述:
函式原型:
#include
#include
void
test01()
else
}
總結:面試題中如果出現查詢相鄰重複元素,記得用stl中的adjacent_find演算法5.2.4 binary_search
功能描述:
函式原型:
#include
#include
void
test01()
//二分查詢
bool ret =
binary_search
(v.begin()
, v.
end(),
2);if
(ret)
else
}int
main()
**總結:**二分查詢法查詢效率很高,值得注意的是查詢的容器中元素必須的有序序列5 count
功能描述:
函式原型:
#include
using
namespace std;
#include
#include
#include
void
test01()
v.push_back(2
);v.push_back(8
);v.push_back(4
);v.push_back(2
);v.push_back(2
);v.push_back(8
);v.push_back(4
);v.push_back(2
);int num =
count
(v.begin()
, v.
end(),
2); cout <<
"2的個數為: "
<< num << endl;
}class
person
//過載==
bool
operator==(
const person& p)
else
}int m_age;
string m_name;};
class
greater20};
void
test02()
intmain()
6 count_if
功能描述:
函式原型:
#include
using
namespace std;
#include
#include
#include
class
greatfour};
void
test01()
v.push_back(2
);v.push_back(8
);v.push_back(4
);v.push_back(2
);v.push_back(2
);v.push_back(8
);v.push_back(4
);v.push_back(2
);int num =
count_if
(v.begin()
, v.
end(),
greatfour()
);cout <<
"大於4的個數為: "
<< num << endl;
}class
person
int m_age;
string m_name;};
class
lessage};
void
test02()
intmain()
**總結:**按值統計用count,按條件統計用count_if啊 可算敲完了。
最近準備去公司實習,但感覺自己什麼都不會 慌慌慌!!!
加油加油!!!
C 常用查詢演算法
find 查詢元素 find if 按條件查詢元素 adjacent find 查詢相鄰重複元素 binary search 二分查詢演算法 count 統計元素個數 count if 按條件統計元素個數 1 find 查詢指定元素,返回找到的指定元素的迭代器,找不到則返回結束迭代器 函式原型 fi...
c 常用查詢演算法
演算法簡介 find 查詢元素 find if 按條件查詢元素 adjacent find 查詢相鄰重複元素 binary search 二分查詢法 count 統計元素個數 count if 按條件統計元素個數 find 功能描述 查詢指定元素,找到返回指定元素的迭代器,找不到返回結束迭代器end...
C 學習筆記28 輸入與輸出
1 與輸入輸出相關的類 1 ifstream istream ios iostream fstream ostream ofstream 2 cin是istream的物件,cout是ostream的物件 3 ifstream 對檔案進行讀操作,ofstream 對檔案進行寫操作 4 fstream ...