使用迭代版本的随机选择函数实现选择第i小元素。原理与9.2例题相同,该代码为9.2例题的迭代版实现。具体代码如下:

#include<iostream>
using namespace std;
int RandomdisePartition(int a[] ,int p,int r)
{int i,j,temp,num;num=a[r];j=p-1;for(i=p;i<r;i++){if(a[i]<num){j++;temp=a[i];a[i]=a[j];a[j]=temp;}}temp=a[r];a[r]=a[j+1];a[j+1]=temp;return j+1;
}
//迭代版本
int RandomizSelectInIterater(int a[],int p,int r,int num)
{if(p==r){return a[p];}while(1){int q=RandomdisePartition(a,p,r);int k=q-p+1;if(k==num){return a[q];}else if(num<k){r=q-1;}else{p=q+1;num=num-k;}}
}
int main()
{int a[10]={2,56,48,685,4596,16,48,748,742,1635};int num=RandomizSelectInIterater(a,0,9,5);cout<<num<<endl;return 0;
}

算法导论第九章习题9.2-3相关推荐

  1. c语言第九章课后作业答案,c语言第九章习题带答案

    c语言第九章习题带答案 - 1 - 练习9-1 答案 一.选择题 1.typedef unsigned long LONG 的作用是( D ). A.建立了一种新的数据类型 B .定义了一个整形变量 ...

  2. 网络空间安全导论-第一章习题

    网络空间安全导论-第一章习题 1.网络空间安全有哪些定义? 2.简述网络安全空间的技术架构. 3.列举一些你身边遇到或发现的网络安全问题,试分析其中的原因,并说说有哪些防范措施. 1.网络空间安全有哪 ...

  3. 工程伦理第九章习题答案

    工程伦理 第九章习题 工程伦理 1 选择题 2 讨论题 1 选择题 1-5 CDCCB 6 AD 7 ACD 8 ABCD 9 BCD 10 ABCD 11-15 × √ × √ × × 2 讨论题 ...

  4. 工程伦理 第九章习题 答案

    工程伦理 第九章习题 答案 还有 学术规范与论文写作.创业成功第一步:写好商业计划书 等课程,每天都会更新)

  5. 【Java数据结构与算法】第九章 顺序查找、二分查找、插值查找和斐波那契查找

    第九章 顺序查找.二分查找.插值查找和斐波那契查找 文章目录 第九章 顺序查找.二分查找.插值查找和斐波那契查找 一.顺序查找 1.基本介绍 2.代码实现 二.二分查找 1.基本介绍 2.代码实现 三 ...

  6. C语言程序设计第五版谭浩强课后答案 第九章习题答案

    C语言程序设计第五版谭浩强第九章答案 1.定义一个结构体变量(包括年.月.日).计算该日在本年中是第几天,注意闰年问题. 2.写一个函数days,实现第1 题的计算.由主函数将年.月.日传递给days ...

  7. 我眼中的算法导论 | 第一章——算法在计算中的作用、第二章——算法基础

    一个小白的算法学习之路.读<算法导论>第一天.本文仅作为学习的心得记录. 算法(Algorithm) 对于一个程序员来说,无论资历深浅,对算法一词的含义一定会或多或少有自己的体会,在< ...

  8. 操作系统导论 第九章 调度:比例份额

    文章目录 第九章 调度:比例份额 9.1 基本概念:彩票数代表份额 9.2 彩票机制 9.3 实现 9.4 步长调度 9.5 小结 第九章 调度:比例份额 在本章,我们将看到一个不同类型的调度程序–比 ...

  9. DIP第九章习题解答

    数字图像处理 第九章课后作业 文档地址:数字图像处理第九章课后作业.pdf_数字图像处理第九章课后答案,数字图像处理第三版第九章课后答案-图像处理文档类资源-CSDN下载https://downloa ...

最新文章

  1. 从 java bean 的内省到 dbutils 的应用
  2. ML之回归预测之BE:利用BE算法解决回归(实数值评分预测)问题—线性方法解决非线性问题
  3. 操作系统存储器管理实验报告_献上膝盖!华为工程师抛出一份堪称“举世无双”操作系统笔记...
  4. 计算机网络(十九)-IEEE802.11无线局域网
  5. Android之个性化ListView实现
  6. php设置session 生命周期,设置session的生命周期(php)
  7. vc通过ADO连接sql server 2000的核心代码
  8. SQL SERVER 2008的错误日志太大
  9. actionSupport类
  10. Red Giant 安装及爆炸效果详解
  11. uniapp使用苹果支付
  12. 幸福婚庆策划网管理系统
  13. vue 判断字符串是否是英文_vue rules以及原生js判断字符串是否为正整数(正小数)...
  14. 只用200行Go代码写一个自己的区块链!
  15. 计算机视觉需要学习哪些编程语言?
  16. 迪克斯特拉算法——算法图解
  17. java util包排序,利用stream sorted进行降序排序
  18. 制作国界线正确的世界地图 (Shapefile)
  19. 中转站有容量限制的运输问题(最小费用最大流)
  20. 关于数据中台,车品觉的这些观点你一定要读

热门文章

  1. 手机怎样升级Android10,国行三星手机Android 10.0升级计划表 Note10明年2月升级
  2. 安兔兔html5测试排行榜,安兔兔系统评测排行榜(速览最新手机跑分排行榜)
  3. linux命令行进入回收站,Linux 终端命令 rm 删除的文件进入回收站实现方法
  4. 分析型数据库__ClickHouse_ 深度学习
  5. 【dgl学习】dgl实现GAT(图注意力网络)
  6. 常见的电脑自动关机命令
  7. 1.1.1 计算机的四代变化与元件的更新换代
  8. 回收站有html文件,怎么找回回收站删除的文件 强烈推荐互盾专家上线支招
  9. 手游神武2最新服务器,神武2手游10月30日开新服 本周将出新地图新宠物
  10. 如何向 Linux 服务器添加额外的 IP 地址