c++ - 仅使用一个参数(整数向量)和第一个元素作为枢轴的快速排序
问题描述
我需要在 C++ 中实现一个快速排序算法,这通常很容易,但问题是我只能将向量作为我的参数,并且必须选择第一个元素作为枢轴。我只需要返回我的算法进行的比较次数。这是我的功能,无法更改,因为我无法控制 main.cpp 文件,只能控制 quicksort.cpp 和 quicksort.h 文件。
long long QuickSort(vector<int> & a)
解决方案
没有什么可以阻止您QuickSort
调用(递归)辅助函数。
例如:
static long long QuickSortWorker(vector<int> &a, size_t start, size_t length) {
...
}
long long QuickSort(vector<int> &a) {
return QuickSortWorker(a, 0, a.size());
}
推荐阅读
- android - Android compose Card在使用半透明颜色时有边框
- python - 漂亮汤中的css选择器找不到标签
- python - 在 python 中用 3d 瀑布图创建电影
- javascript - 实现从对象字段和字段值生成字符串的 C# 代码
- pandas - 根据列值创建列 - 合并整数
- vue.js - Vuetify v-simple-table 加载状态
- mysql - 是否可以将 MySQL 唯一索引更改为非唯一索引而不重新创建它
- flutter - 如何在flutter中获取当前ID(UUID?/RFID?)?
- python - 两个问题的幂的负一 - 即 (-1)**2
- google-apps-script - 有没有办法在不删除旧问题并重新制作的情况下更新现有的谷歌表单问题的描述和选项?