当前位置: 首页 > news >正文

第k个元素(模板)

//取第k个元素,k=0..n-1
//平均复杂度O(n)
//注意a[]中的顺序被改变

#define _cp(a,b) ((a)<(b))
typedef int elem_t;

elem_t kth_element(int n,elem_t* a,int k){
elem_t t,key;
int l=0,r=n-1,i,j;
while (l<r){
for (key=a[((i=l-1)+(j=r+1))>>1];i<j;){
for (j--;_cp(key,a[j]);j--);
for (i++;_cp(a[i],key);i++);
if (i<j) t=a[i],a[i]=a[j],a[j]=t;
}
if (k>j) l=j+1;
else r=j;
}
return a[k];

转载于:https://www.cnblogs.com/CAOYR/p/5538634.html

相关文章:

  • 景德镇特色的部门级别与权限
  • swift 字符串创建类
  • push 和pop的区别
  • linux命令行模式下实现代理上网 专题
  • tab.js分享及浏览器兼容性问题汇总
  • linux----进度条程序
  • Eclipse:The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path
  • 运行TestCase时,提示:Element is not currently visible and so may not be interacted with
  • iOS开发之UITextField的使用详解
  • 使用生成器展平异步回调结构,JS篇
  • IPv4 地址分类
  • find命令无效处理记录
  • raft 分布式协议 -- mongodb
  • 把redis安装到ubuntu-14.04.1-server
  • [javaSE] GUI(Action事件)
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • es6要点
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • linux安装openssl、swoole等扩展的具体步骤
  • Rancher如何对接Ceph-RBD块存储
  • 精彩代码 vue.js
  • 前端临床手札——文件上传
  • 学习笔记:对象,原型和继承(1)
  • 中文输入法与React文本输入框的问题与解决方案
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​linux启动进程的方式
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • !!Dom4j 学习笔记
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (4)Elastix图像配准:3D图像
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (6)添加vue-cookie
  • (8)STL算法之替换
  • (C#)获取字符编码的类
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (WSI分类)WSI分类文献小综述 2024
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (理论篇)httpmoudle和httphandler一览
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (一)80c52学习之旅-起始篇
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)scrum常见工具列表
  • .gitignore文件—git忽略文件
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .Net CF下精确的计时器
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET 表达式计算:Expression Evaluator
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • ?.的用法
  • @RestController注解的使用
  • [ai笔记9] openAI Sora技术文档引用文献汇总
  • [Android] Implementation vs API dependency