数据结构基础
1、栈(Stack)
特点:后入先出
基本操作:
- push(x):在栈顶部添加元素x
- pop(x):从栈顶部取出元素
- isEmpty():检查栈是否为空
- isFull():检查栈是否已满
void initialize(){ top = 0; } void isEmpty(){ return top == 0; } void isFull(){ return top >= MAX-1; } void push(int x){ if(isFull) return; S[++top] = x; } void pop(){ if(isEmpty()) return; top--; return S[top+1]; }
//通过标准库建立栈 #include<stack> stack<int> S;
2、队列
特点:先入先出
基本操作:
- enqueue(x):在队列末尾添加元素
- dequeue():从队列开头取出元素
- isEmpty():检查队列是否为空
- isFull():检查队列是否已满
//通过标准库建立队列 #include<queue> //使用标准库中的queue queue<pair<string, int>> Q; for(int i = 0; i< n;i++) { cin >> name >> time; Q.push(make_pair(name, time)); } pair<string, int> u; u = Q.front(); cout << u.first;
其中pari是保存成对数值的结构体模板,声明时需要在<>中指定两个数据类型
make_pair用于生成一对数值,第一个元素用first访问,第二个用second访问
3、vector
动态数组

4、list
双向链表

5、迭代器
是一种对象,可以对STL容器的元素进行迭代处理,指向容器内部的特定位置。
//使用迭代器进行vector中元素的遍历 void print_vecror(vector<int> v) { vector<int>::iterator it; for(it = v.begin()+2; it != v.end(); it++) cout << *it; cout << endl; }

浙公网安备 33010602011771号