mirror of
https://github.com/krahets/hello-algo.git
synced 2026-02-03 10:53:35 +08:00
Format C++ codes in Clang-Format Style: Microsoft
This commit is contained in:
@@ -6,15 +6,14 @@
|
||||
|
||||
#include "../include/include.hpp"
|
||||
|
||||
|
||||
/* 基于环形数组实现的双向队列 */
|
||||
class ArrayDeque {
|
||||
private:
|
||||
vector<int> nums; // 用于存储双向队列元素的数组
|
||||
int front; // 队首指针,指向队首元素
|
||||
int queSize; // 双向队列长度
|
||||
private:
|
||||
vector<int> nums; // 用于存储双向队列元素的数组
|
||||
int front; // 队首指针,指向队首元素
|
||||
int queSize; // 双向队列长度
|
||||
|
||||
public:
|
||||
public:
|
||||
/* 构造方法 */
|
||||
ArrayDeque(int capacity) {
|
||||
nums.resize(capacity);
|
||||
@@ -122,7 +121,7 @@ int main() {
|
||||
deque->pushLast(2);
|
||||
deque->pushLast(5);
|
||||
cout << "双向队列 deque = ";
|
||||
PrintUtil::printVector(deque->toVector());
|
||||
printVector(deque->toVector());
|
||||
|
||||
/* 访问元素 */
|
||||
int peekFirst = deque->peekFirst();
|
||||
@@ -133,18 +132,18 @@ int main() {
|
||||
/* 元素入队 */
|
||||
deque->pushLast(4);
|
||||
cout << "元素 4 队尾入队后 deque = ";
|
||||
PrintUtil::printVector(deque->toVector());
|
||||
printVector(deque->toVector());
|
||||
deque->pushFirst(1);
|
||||
cout << "元素 1 队首入队后 deque = ";
|
||||
PrintUtil::printVector(deque->toVector());
|
||||
printVector(deque->toVector());
|
||||
|
||||
/* 元素出队 */
|
||||
int popLast = deque->popLast();
|
||||
cout << "队尾出队元素 = " << popLast << ",队尾出队后 deque = ";
|
||||
PrintUtil::printVector(deque->toVector());
|
||||
printVector(deque->toVector());
|
||||
int popFirst = deque->popFirst();
|
||||
cout << "队首出队元素 = " << popFirst << ",队首出队后 deque = ";
|
||||
PrintUtil::printVector(deque->toVector());
|
||||
printVector(deque->toVector());
|
||||
|
||||
/* 获取双向队列的长度 */
|
||||
int size = deque->size();
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
/* 基于环形数组实现的队列 */
|
||||
class ArrayQueue {
|
||||
private:
|
||||
private:
|
||||
int *nums; // 用于存储队列元素的数组
|
||||
int front; // 队首指针,指向队首元素
|
||||
int queSize; // 队列长度
|
||||
int queCapacity; // 队列容量
|
||||
|
||||
public:
|
||||
public:
|
||||
ArrayQueue(int capacity) {
|
||||
// 初始化数组
|
||||
nums = new int[capacity];
|
||||
@@ -81,12 +81,11 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/* Driver Code */
|
||||
int main() {
|
||||
/* 初始化队列 */
|
||||
int capacity = 10;
|
||||
ArrayQueue* queue = new ArrayQueue(capacity);
|
||||
ArrayQueue *queue = new ArrayQueue(capacity);
|
||||
|
||||
/* 元素入队 */
|
||||
queue->push(1);
|
||||
@@ -95,16 +94,16 @@ int main() {
|
||||
queue->push(5);
|
||||
queue->push(4);
|
||||
cout << "队列 queue = ";
|
||||
PrintUtil::printVector(queue->toVector());
|
||||
printVector(queue->toVector());
|
||||
|
||||
/* 访问队首元素 */
|
||||
int peek = queue->peek();
|
||||
cout << "队首元素 peek = " << peek << endl;
|
||||
|
||||
|
||||
/* 元素出队 */
|
||||
queue->pop();
|
||||
cout << "出队元素 pop = " << peek << ",出队后 queue = ";
|
||||
PrintUtil::printVector(queue->toVector());
|
||||
printVector(queue->toVector());
|
||||
|
||||
/* 获取队列的长度 */
|
||||
int size = queue->size();
|
||||
@@ -119,7 +118,7 @@ int main() {
|
||||
queue->push(i);
|
||||
queue->pop();
|
||||
cout << "第 " << i << " 轮入队 + 出队后 queue = ";
|
||||
PrintUtil::printVector(queue->toVector());
|
||||
printVector(queue->toVector());
|
||||
}
|
||||
|
||||
// 释放内存
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
|
||||
/* 基于数组实现的栈 */
|
||||
class ArrayStack {
|
||||
private:
|
||||
private:
|
||||
vector<int> stack;
|
||||
|
||||
public:
|
||||
|
||||
public:
|
||||
/* 获取栈的长度 */
|
||||
int size() {
|
||||
return stack.size();
|
||||
@@ -35,7 +35,7 @@ public:
|
||||
|
||||
/* 访问栈顶元素 */
|
||||
int top() {
|
||||
if(empty())
|
||||
if (empty())
|
||||
throw out_of_range("栈为空");
|
||||
return stack.back();
|
||||
}
|
||||
@@ -46,11 +46,10 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/* Driver Code */
|
||||
int main() {
|
||||
/* 初始化栈 */
|
||||
ArrayStack* stack = new ArrayStack();
|
||||
ArrayStack *stack = new ArrayStack();
|
||||
|
||||
/* 元素入栈 */
|
||||
stack->push(1);
|
||||
@@ -59,7 +58,7 @@ int main() {
|
||||
stack->push(5);
|
||||
stack->push(4);
|
||||
cout << "栈 stack = ";
|
||||
PrintUtil::printVector(stack->toVector());
|
||||
printVector(stack->toVector());
|
||||
|
||||
/* 访问栈顶元素 */
|
||||
int top = stack->top();
|
||||
@@ -68,7 +67,7 @@ int main() {
|
||||
/* 元素出栈 */
|
||||
stack->pop();
|
||||
cout << "出栈元素 pop = " << top << ",出栈后 stack = ";
|
||||
PrintUtil::printVector(stack->toVector());
|
||||
printVector(stack->toVector());
|
||||
|
||||
/* 获取栈的长度 */
|
||||
int size = stack->size();
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
#include "../include/include.hpp"
|
||||
|
||||
|
||||
/* Driver Code */
|
||||
int main() {
|
||||
/* 初始化双向队列 */
|
||||
@@ -19,7 +18,7 @@ int main() {
|
||||
deque.push_front(3);
|
||||
deque.push_front(1);
|
||||
cout << "双向队列 deque = ";
|
||||
PrintUtil::printDeque(deque);
|
||||
printDeque(deque);
|
||||
|
||||
/* 访问元素 */
|
||||
int front = deque.front();
|
||||
@@ -30,10 +29,10 @@ int main() {
|
||||
/* 元素出队 */
|
||||
deque.pop_front();
|
||||
cout << "队首出队元素 popFront = " << front << ",队首出队后 deque = ";
|
||||
PrintUtil::printDeque(deque);
|
||||
printDeque(deque);
|
||||
deque.pop_back();
|
||||
cout << "队尾出队元素 popLast = " << back << ",队尾出队后 deque = ";
|
||||
PrintUtil::printDeque(deque);
|
||||
printDeque(deque);
|
||||
|
||||
/* 获取双向队列的长度 */
|
||||
int size = deque.size();
|
||||
|
||||
@@ -6,24 +6,25 @@
|
||||
|
||||
#include "../include/include.hpp"
|
||||
|
||||
|
||||
/* 双向链表节点 */
|
||||
struct DoublyListNode {
|
||||
int val; // 节点值
|
||||
DoublyListNode *next; // 后继节点指针
|
||||
DoublyListNode *prev; // 前驱节点指针
|
||||
DoublyListNode(int val) : val(val), prev(nullptr), next(nullptr) {}
|
||||
int val; // 节点值
|
||||
DoublyListNode *next; // 后继节点指针
|
||||
DoublyListNode *prev; // 前驱节点指针
|
||||
DoublyListNode(int val) : val(val), prev(nullptr), next(nullptr) {
|
||||
}
|
||||
};
|
||||
|
||||
/* 基于双向链表实现的双向队列 */
|
||||
class LinkedListDeque {
|
||||
private:
|
||||
private:
|
||||
DoublyListNode *front, *rear; // 头节点 front ,尾节点 rear
|
||||
int queSize = 0; // 双向队列的长度
|
||||
|
||||
public:
|
||||
public:
|
||||
/* 构造方法 */
|
||||
LinkedListDeque() : front(nullptr), rear(nullptr) {}
|
||||
LinkedListDeque() : front(nullptr), rear(nullptr) {
|
||||
}
|
||||
|
||||
/* 析构方法 */
|
||||
~LinkedListDeque() {
|
||||
@@ -63,7 +64,7 @@ public:
|
||||
// 将 node 添加至链表尾部
|
||||
rear->next = node;
|
||||
node->prev = rear;
|
||||
rear = node; // 更新尾节点
|
||||
rear = node; // 更新尾节点
|
||||
}
|
||||
queSize++; // 更新队列长度
|
||||
}
|
||||
@@ -94,7 +95,7 @@ public:
|
||||
front->next = nullptr;
|
||||
delete front;
|
||||
}
|
||||
front = fNext; // 更新头节点
|
||||
front = fNext; // 更新头节点
|
||||
// 队尾出队操作
|
||||
} else {
|
||||
val = rear->val; // 暂存尾节点值
|
||||
@@ -105,7 +106,7 @@ public:
|
||||
rear->prev = nullptr;
|
||||
delete rear;
|
||||
}
|
||||
rear = rPrev; // 更新尾节点
|
||||
rear = rPrev; // 更新尾节点
|
||||
}
|
||||
queSize--; // 更新队列长度
|
||||
return val;
|
||||
@@ -151,7 +152,7 @@ int main() {
|
||||
deque->pushLast(2);
|
||||
deque->pushLast(5);
|
||||
cout << "双向队列 deque = ";
|
||||
PrintUtil::printVector(deque->toVector());
|
||||
printVector(deque->toVector());
|
||||
|
||||
/* 访问元素 */
|
||||
int peekFirst = deque->peekFirst();
|
||||
@@ -161,19 +162,19 @@ int main() {
|
||||
|
||||
/* 元素入队 */
|
||||
deque->pushLast(4);
|
||||
cout << "元素 4 队尾入队后 deque =" ;
|
||||
PrintUtil::printVector(deque->toVector());
|
||||
cout << "元素 4 队尾入队后 deque =";
|
||||
printVector(deque->toVector());
|
||||
deque->pushFirst(1);
|
||||
cout << "元素 1 队首入队后 deque = ";
|
||||
PrintUtil::printVector(deque->toVector());
|
||||
printVector(deque->toVector());
|
||||
|
||||
/* 元素出队 */
|
||||
int popLast = deque->popLast();
|
||||
cout << "队尾出队元素 = " << popLast << ",队尾出队后 deque = ";
|
||||
PrintUtil::printVector(deque->toVector());
|
||||
printVector(deque->toVector());
|
||||
int popFirst = deque->popFirst();
|
||||
cout << "队首出队元素 = " << popFirst << ",队首出队后 deque = ";
|
||||
PrintUtil::printVector(deque->toVector());
|
||||
printVector(deque->toVector());
|
||||
|
||||
/* 获取双向队列的长度 */
|
||||
int size = deque->size();
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
/* 基于链表实现的队列 */
|
||||
class LinkedListQueue {
|
||||
private:
|
||||
ListNode *front, *rear; // 头节点 front ,尾节点 rear
|
||||
private:
|
||||
ListNode *front, *rear; // 头节点 front ,尾节点 rear
|
||||
int queSize;
|
||||
|
||||
public:
|
||||
public:
|
||||
LinkedListQueue() {
|
||||
front = nullptr;
|
||||
rear = nullptr;
|
||||
@@ -37,7 +37,7 @@ public:
|
||||
/* 入队 */
|
||||
void push(int num) {
|
||||
// 尾节点后添加 num
|
||||
ListNode* node = new ListNode(num);
|
||||
ListNode *node = new ListNode(num);
|
||||
// 如果队列为空,则令头、尾节点都指向该节点
|
||||
if (front == nullptr) {
|
||||
front = node;
|
||||
@@ -58,7 +58,7 @@ public:
|
||||
ListNode *tmp = front;
|
||||
front = front->next;
|
||||
// 释放内存
|
||||
delete tmp;
|
||||
delete tmp;
|
||||
queSize--;
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ public:
|
||||
|
||||
/* 将链表转化为 Vector 并返回 */
|
||||
vector<int> toVector() {
|
||||
ListNode* node = front;
|
||||
ListNode *node = front;
|
||||
vector<int> res(size());
|
||||
for (int i = 0; i < res.size(); i++) {
|
||||
res[i] = node->val;
|
||||
@@ -81,11 +81,10 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/* Driver Code */
|
||||
int main() {
|
||||
/* 初始化队列 */
|
||||
LinkedListQueue* queue = new LinkedListQueue();
|
||||
LinkedListQueue *queue = new LinkedListQueue();
|
||||
|
||||
/* 元素入队 */
|
||||
queue->push(1);
|
||||
@@ -94,7 +93,7 @@ int main() {
|
||||
queue->push(5);
|
||||
queue->push(4);
|
||||
cout << "队列 queue = ";
|
||||
PrintUtil::printVector(queue->toVector());
|
||||
printVector(queue->toVector());
|
||||
|
||||
/* 访问队首元素 */
|
||||
int peek = queue->peek();
|
||||
@@ -103,7 +102,7 @@ int main() {
|
||||
/* 元素出队 */
|
||||
queue->pop();
|
||||
cout << "出队元素 pop = " << peek << ",出队后 queue = ";
|
||||
PrintUtil::printVector(queue->toVector());
|
||||
printVector(queue->toVector());
|
||||
|
||||
/* 获取队列的长度 */
|
||||
int size = queue->size();
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
/* 基于链表实现的栈 */
|
||||
class LinkedListStack {
|
||||
private:
|
||||
ListNode* stackTop; // 将头节点作为栈顶
|
||||
private:
|
||||
ListNode *stackTop; // 将头节点作为栈顶
|
||||
int stkSize; // 栈的长度
|
||||
|
||||
public:
|
||||
public:
|
||||
LinkedListStack() {
|
||||
stackTop = nullptr;
|
||||
stkSize = 0;
|
||||
@@ -35,7 +35,7 @@ public:
|
||||
|
||||
/* 入栈 */
|
||||
void push(int num) {
|
||||
ListNode* node = new ListNode(num);
|
||||
ListNode *node = new ListNode(num);
|
||||
node->next = stackTop;
|
||||
stackTop = node;
|
||||
stkSize++;
|
||||
@@ -60,7 +60,7 @@ public:
|
||||
|
||||
/* 将 List 转化为 Array 并返回 */
|
||||
vector<int> toVector() {
|
||||
ListNode* node = stackTop;
|
||||
ListNode *node = stackTop;
|
||||
vector<int> res(size());
|
||||
for (int i = res.size() - 1; i >= 0; i--) {
|
||||
res[i] = node->val;
|
||||
@@ -70,11 +70,10 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/* Driver Code */
|
||||
int main() {
|
||||
/* 初始化栈 */
|
||||
LinkedListStack* stack = new LinkedListStack();
|
||||
LinkedListStack *stack = new LinkedListStack();
|
||||
|
||||
/* 元素入栈 */
|
||||
stack->push(1);
|
||||
@@ -83,7 +82,7 @@ int main() {
|
||||
stack->push(5);
|
||||
stack->push(4);
|
||||
cout << "栈 stack = ";
|
||||
PrintUtil::printVector(stack->toVector());
|
||||
printVector(stack->toVector());
|
||||
|
||||
/* 访问栈顶元素 */
|
||||
int top = stack->top();
|
||||
@@ -92,7 +91,7 @@ int main() {
|
||||
/* 元素出栈 */
|
||||
stack->pop();
|
||||
cout << "出栈元素 pop = " << top << ",出栈后 stack = ";
|
||||
PrintUtil::printVector(stack->toVector());
|
||||
printVector(stack->toVector());
|
||||
|
||||
/* 获取栈的长度 */
|
||||
int size = stack->size();
|
||||
|
||||
@@ -6,12 +6,11 @@
|
||||
|
||||
#include "../include/include.hpp"
|
||||
|
||||
|
||||
/* Driver Code */
|
||||
int main(){
|
||||
int main() {
|
||||
/* 初始化队列 */
|
||||
queue<int> queue;
|
||||
|
||||
|
||||
/* 元素入队 */
|
||||
queue.push(1);
|
||||
queue.push(3);
|
||||
@@ -19,24 +18,24 @@ int main(){
|
||||
queue.push(5);
|
||||
queue.push(4);
|
||||
cout << "队列 queue = ";
|
||||
PrintUtil::printQueue(queue);
|
||||
|
||||
printQueue(queue);
|
||||
|
||||
/* 访问队首元素 */
|
||||
int front = queue.front();
|
||||
cout << "队首元素 front = " << front << endl;
|
||||
|
||||
|
||||
/* 元素出队 */
|
||||
queue.pop();
|
||||
cout << "出队元素 front = " << front << ",出队后 queue = ";
|
||||
PrintUtil::printQueue(queue);
|
||||
|
||||
printQueue(queue);
|
||||
|
||||
/* 获取队列的长度 */
|
||||
int size = queue.size();
|
||||
cout << "队列长度 size = " << size << endl;
|
||||
|
||||
|
||||
/* 判断队列是否为空 */
|
||||
bool empty = queue.empty();
|
||||
cout << "队列是否为空 = " << empty << endl;
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
#include "../include/include.hpp"
|
||||
|
||||
|
||||
/* Driver Code */
|
||||
int main() {
|
||||
/* 初始化栈 */
|
||||
@@ -19,7 +18,7 @@ int main() {
|
||||
stack.push(5);
|
||||
stack.push(4);
|
||||
cout << "栈 stack = ";
|
||||
PrintUtil::printStack(stack);
|
||||
printStack(stack);
|
||||
|
||||
/* 访问栈顶元素 */
|
||||
int top = stack.top();
|
||||
@@ -28,7 +27,7 @@ int main() {
|
||||
/* 元素出栈 */
|
||||
stack.pop(); // 无返回值
|
||||
cout << "出栈元素 pop = " << top << ",出栈后 stack = ";
|
||||
PrintUtil::printStack(stack);
|
||||
printStack(stack);
|
||||
|
||||
/* 获取栈的长度 */
|
||||
int size = stack.size();
|
||||
|
||||
Reference in New Issue
Block a user