#牛客chatgpt在线求职答疑#写一段代码,对数组进行快速排序
全部评论
以下是一个基于Lomuto分区方案的快速排序实现,可以对一个整数数组进行排序:
```c++
void quicksort(int arr[], int low, int high) {
if (low < high) {
int pivot = partition(arr, low, high);
quicksort(arr, low, pivot - 1);
quicksort(arr, pivot + 1, high);
}
}
int partition(int arr[], int low, int high) {
int pivot = arr[high];
int i = low - 1;
for (int j = low; j <= high - 1; j++) {
if (arr[j] < pivot) {
i++;
std::swap(arr[i], arr[j]);
}
}
std::swap(arr[i + 1], arr[high]);
return i + 1;
}
```
在此实现中,`quicksort` 函数递归调用自身,通过不断对数组进行分区,将其划分为更小的子数组,最终实现排序。`partition` 函数是用于实现分区的核心算法,基于Lomuto分区方案,将数组中小于主元素(`pivot`)的元素移动到左侧,将大于主元素的元素移动到右侧,然后将主元素放置到合适的位置。
相关推荐
点赞 评论 收藏
分享
程序员牛肉:不用,你低估你学历的含金量了。
不用学微服务,重心放到juc,redis和mysql的八股上。然后准备两个简历项目。直接准备明年暑期就好。南京大学都算是国内比较顶尖的985了。明年暑期零实习也能被约面。不用太焦虑 点赞 评论 收藏
分享
2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用
2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的
3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单
4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价 点赞 评论 收藏
分享
等闲_:业务开发就是prompt+数据,Ai就是中间件,中台或者鸡架会做一些Agentic infra和智能体记忆之类的,再底层一点就是AI infra,MLops,模型微调,推理优化之类的了,所以对于普通后端就是纯业务,没啥技术含量,除非去技术架构组或者底层一点的组,要不AI就是个API,别神话AI应用开发 点赞 评论 收藏
分享
