![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
墨然回首.
图形引擎开发
展开
-
归并排序算法C++-自顶向下法(递归)和自底向上法
自顶向下法(使用递归): #include <iostream>using namespace std;// 将arr[l...mid]和arr[mid+1...r]两部分进行归并template<typename T>void __merge(T arr[], int l, int mid, int r) { T *aux = new T[r-...原创 2018-08-17 17:23:34 · 1518 阅读 · 0 评论 -
【C++】快速排序 QuickSort的实现及其两种优化方法-双路快速排序法、三路快速排序法
一,第一种实现方法 - 基本法(递归)(1)基本思路如下面数组: 将第一个元素4移动到中间,在4的左边为小于4的元素,在4的右边为大于4的元素:(2)基本实现思路我们进行一个分区(分部)操作: ①当e> v,则i ++: ②当e <v,则 j ++; 交换...原创 2018-08-30 16:00:34 · 1287 阅读 · 0 评论 -
动态数组(vector)-详解均摊复杂度分析和避免避免复杂度的震荡(C++实现)
(1)首先我们先写出MyVector类的基本框架template <typename T>class MyVector{private: T* data; int size; // 存储数组中的元素个数 int capacity; // 存储数组中可以容纳的最大的元素个数public: MyVector(){ ...原创 2018-08-22 15:49:49 · 4466 阅读 · 0 评论