找出数组中第k大小的数,输出数所在的位置

/*写一段程序,找出数组中第k大小的数,输出数所在的位置。例如{2,4,3,4,7}中,第一大的数是7,位置在4。
第二大、第三大的数都是4,位置在1、3随便输出哪一个均可。*/#include <iostream>
using namespace std;void FindOrder(int arr[9],int k)
{int Origin[9] = { 0 };int position = 1;int number = 0;//创造一个数组Oringin存放原数字位置for (int i = 0; i < 9; i++){Origin[i] = arr[i];}//冒泡排序for (int i = 9; i > 0; i--) {bool flag = false;for(int j = 0; j < i; j++){int temp = 0;if (arr[j] < arr[j + 1]){ temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;flag = true;}}if (!flag) break;}number = arr[k - 1];//从Oringin数组中找到第k大的数字的位置for (int i = 9; i > 0; i--){if (Origin[i] == number)position = i + 1;}cout << "第" << k << "大的数是" << number << ",位置在" << position << endl;
}int Start(int arr[9])
{cout << "数组为:";for (int i = 0; i < 9; i++){cout << arr[i] << " ";}int k;cout << "\n请输入k的值(k<10):";cin >> k;return k;
}int main()
{int arr[] = { 7,8,6,3,1,5,2,9,4 };//Start(arr);int kk = Start(arr);FindOrder(arr,kk);
}

从这个程序里面复习了一下return一个值的用法,
当main函数里需要一个function函数的值时,可以使用return,用法如下:

int Start(int arr[9])
{...int k;...return k;
}
int main()
{...int kk = Start(arr); //就是这个,把k的值给了kk,就可以用了...}

但我还是觉得这个题我本身的算法可能有问题,不是最简单的,基本思路写在代码里了,以后有机会再回来修改吧哈哈

找出数组中第k大小的数,输出数所在的位置相关推荐

  1. Java找出数组中第K大的数

    题目描述 有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数. 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在. 测试样例: [1,3,5 ...

  2. 找出数组中第k大和第m大的数字之和

    找出数组中第k大和第m大的数字之和 说明:定义一个函数,接受三个参数getMaxNumber(array,k,m){},找出第k大和第m大的数字之和.重复的数组也需要计算 比如:[1,3,4,5,4, ...

  3. 找出数组中第k大的数

    给定一个数组,找出数组中第k大的数.其实现代码如下: package com.threeTop.www;/*** 找出数组中第k大的数* @author wjgs**/ public class Fi ...

  4. 分治法 第3关:找出数组中第 k 个小的元素

    任务描述 本关任务:对于给定的 n 个元素的数组a[0:n-1],要求从中找出第 k 小的元素. 编程要求 请在右侧编辑器Begin-End处补充代码,完成本关任务,注意需要学生自己获取输入数据再进行 ...

  5. 找出数组中只出现过一次的数

    一个大数组,在1到25000之间,只有4K memory, 打印出其中正好只出现过一次的数.没出现过,出现过2次,3次,或更多,都不打印. solutions: 1)位图法,但每个数有3个状态:0,1 ...

  6. 找出数组中的一个数,在该数的左边他是最大的,在该数的右边他是最小的。如何求这个数

    首先.假设数组为nums[] = {1, 4 3, 6, 8,10}.很明显可以看出 6.8大于左边所有数缺小于右边所有数.那如果用代码表示思路是怎么样子的? 我们可以开一个leftmax数组和一个r ...

  7. 1985. 找出数组中的第 K 大整数

    1985. 找出数组中的第 K 大整数 给你一个字符串数组 nums 和一个整数 k .nums 中的每个字符串都表示一个不含前导零的整数. 返回 nums 中表示第 k 大整数的字符串. 注意:重复 ...

  8. java数组出现次数最多的数_找出数组中出现次数最多的那个数——主元素问题...

    方法一:以空间换时间,可以定义一个计数数组int count[101],用来对数组中数字出现的次数进行计数(只能针对数组中数字的范围1~100),count数组中最大的元素对应的下标,即为出现次数最多 ...

  9. 找出数组中出现次数超过一半的数

    算法--找出数组中出现次数超过一半的数      每当我看到经典的算法题,就怀念高中,感觉很多算法题就是高中的题目,谁叫哥只读了个专科,高数基本相当没学.      有空要看看高数啊,想当年数学那是相 ...

最新文章

  1. R语言ggplot2可视化:使用pracma包的interp1函数对缺失值进行线性插值后进行可视化分析、用虚线标记进行数据填充的区域
  2. 论文推荐:ReLICv2 ,新的自监督学习能否在ResNet 上超越监督学习?
  3. go语言中无法获取goroutine相关的信息
  4. 常考数据结构与算法:螺旋矩阵m*n
  5. jbb是什么梗_子水是什么意思,子水命理
  6. hadoop2.2单节点集群的搭建
  7. Codeforces Round #FF (Div. 2) D. DZY Loves Modification 贪心+优先队列
  8. 文件的读取与写入--ASP.NET中常用代码之四(转载)
  9. 2019dnf刷图脚本制作教程
  10. 华中电网项目日志:Rational version 7.0 技术会议纪要
  11. android跳转到rn界面,第五章 RN与Native—由原生页面跳转到Rn页面;在Rn页面调用Android Native组件和Native数据...
  12. webAppRootKey
  13. 创建Docker镜像
  14. mac可用的vpb_有什么让你相见恨晚的 MacBook 神器?
  15. lync服务器不响应或无法联系,Lync 2013 已知问题
  16. LinkedIn领英开发国外客户技巧,附提高好友邀请通过率7大模板
  17. Sharding-JDBC主子表(绑定表)关联
  18. google vr 入门之制作简易的VR播放器(三),真牛皮
  19. win7打补丁提示0x80240037
  20. 这样配置:让你的 IDEA 好用到飞起来

热门文章

  1. 如何用百分比设置页面的高度
  2. Android App 手机兼容平板横竖屏切换
  3. 树模型与线性模型的区别 决策树分类和逻辑回归分类的区别 【总结】
  4. 高等数学(函数的极限与连续性)
  5. PX4报错FAILED: external/Stamp/sitl_gazebo/sitl_gazebo-configure解决
  6. Unity Tools 工具集合(新版)
  7. 微信支付APIV3统一回调接口封装(H5、JSAPI、H5、App、小程序)
  8. QT使用AES加密MAC地址生成秘钥文件并存取
  9. 达梦数据库disql工具使用
  10. 机器学习实战-决策树实战