Android Ndk 学习笔记(目录)
#include <iostream>
#include <set>
#include <vector>
#include <stack>
#include <queue>
#include <list>
using namespace std;
void useVector(){
vector<int> vector1 ;
vector<int> vector2(10) ;
vector<int> vector3(10,0) ;
vector<int> vector4 ;
vector4.insert(vector4.begin(),10);
vector4.insert(vector4.begin(),20);
vector4.insert(vector4.end(),30);
vector4.insert(vector4.end(),40);
cout << "第一个" << vector4.front() <<endl ;
cout << "最后一个" << vector4.back() <<endl ;
for (int i = 0; i < vector4.size(); ++i) {
cout << "item" << i << " = " << vector4[i] <<endl ;
}
for (vector<int>::iterator it = vector4.begin() ; it != vector4.end(); it++) {
cout << "item" << * it <<endl ;
}
}
void useStack(){
stack<int> stackVar;
stackVar.push(30);
stackVar.push(60);
stackVar.push(90);
while (!stackVar.empty()) {
int top = stackVar.top();
cout << "获取栈顶的元素:" << top << endl;
stackVar.pop();
}
};
void useQueue(){
queue<int> queueVar ;
queueVar.push(20);
queueVar.push(40);
queueVar.push(60);
cout << " 修改前: queueVar.front():" << queueVar.front() << endl;
queueVar.front() = 88;
cout << " 修改后: queueVar.front():" << queueVar.front() << endl;
cout << " 修改前: queueVar.back():" << queueVar.back() << endl;
queueVar.back() = 88;
cout << " 修改后: queueVar.back():" << queueVar.back() << endl;
while (!queueVar.empty()) {
cout << "while1:" << queueVar.front() << endl;
queueVar.pop();
}
while (!queueVar.empty()) {
cout << "while2:" << queueVar.front() << endl;
queueVar.pop();
}
}
void usePriority_queue(){
priority_queue<int ,vector<int>, less<int>> priorityQueue;
priorityQueue.push(10);
priorityQueue.push(20);
priorityQueue.push(30);
priorityQueue.push(40);
priorityQueue.push(50);
priorityQueue.push(60);
cout << priorityQueue.top() << endl;
while (!priorityQueue.empty()) {
cout << "while1:" << priorityQueue.top() << endl;
priorityQueue.pop();
}
}
void useList(){
list<int> listVar;
listVar.push_front(50);
listVar.push_back(60);
listVar.insert(listVar.begin(), 70);
listVar.insert(listVar.end(), 80);
listVar.back() = 88;
listVar.front() = 55;
listVar.erase(listVar.begin());
listVar.erase(listVar.end());
for (list<int>::iterator it = listVar.begin(); it != listVar.end() ; it ++) {
cout << *it << endl;
}
}
void useSet(){
set<int, less<int>> setVar;
setVar.insert(1);
setVar.insert(3);
setVar.insert(2);
setVar.insert(4);
pair<set<int, less<int>>::iterator, bool> res = setVar.insert(8);
bool insert_success = res.second;
if (insert_success) {
cout << "恭喜你,插入成功" << endl;
for (; res.first != setVar.end(); res.first ++) {
cout << *res.first << endl;
}
} else {
cout << "哎,插入失败.." << endl;
}
for (auto it = setVar.begin(); it != setVar.end() ; it ++) {
cout << *it << endl;
}
}
class Person{
public:
string name ;
int id ;
Person(string name ,int age ) :name(name),id(id){}
};
struct doCompareAction{
public:
bool operator() (const Person & p1 , const Person & p2){
return p1.id < p2.id;
}
};
void useOperator(){
set<Person ,doCompareAction> setVar ;
Person p1 ("p1Name",1);
Person p2 ("p2Name",2);
Person p3 ("p3Name",3);
setVar.insert(p1);
setVar.insert(p2);
setVar.insert(p3);
for (set<Person>::iterator it = setVar.begin(); it != setVar.end() ; it++) {
cout << it ->name << "--" <<it->id << endl;
}
}
|