数据结构与算法c++代码
时间: 2023-10-23 10:10:40 浏览: 52
好的,以下是一些常见的数据结构与算法的 C++ 代码:
1. 数组
```cpp
int arr[10]; // 定义一个长度为 10 的整型数组
for (int i = 0; i < 10; i++) {
arr[i] = i; // 给数组赋值
}
```
2. 链表
```cpp
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
ListNode* head = new ListNode(0); // 创建一个链表头节点
ListNode* cur = head;
for (int i = 1; i <= 10; i++) {
ListNode* node = new ListNode(i); // 创建一个新节点
cur->next = node; // 将新节点插入到链表尾部
cur = cur->next;
}
```
3. 栈
```cpp
stack<int> st; // 定义一个整型栈
for (int i = 0; i < 10; i++) {
st.push(i); // 入栈
}
while (!st.empty()) {
int top = st.top(); // 取出栈顶元素
st.pop(); // 出栈
}
```
4. 队列
```cpp
queue<int> q; // 定义一个整型队列
for (int i = 0; i < 10; i++) {
q.push(i); // 入队
}
while (!q.empty()) {
int front = q.front(); // 取出队首元素
q.pop(); // 出队
}
```
5. 二叉树
```cpp
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
TreeNode* root = new TreeNode(1); // 创建一个二叉树根节点
root->left = new TreeNode(2); // 创建左子节点
root->right = new TreeNode(3); // 创建右子节点
```
6. 排序算法
```cpp
int arr[10] = {5, 2, 9, 4, 7, 6, 1, 3, 8, 0};
sort(arr, arr + 10); // 使用 STL 中的 sort 函数进行排序
```