(1)冒泡法排序代码(另一个应用是找到第K大的数)
来源:互联网 发布:杀人软件下载 编辑:程序博客网 时间:2024/06/07 09:12
#include<iostream>using namespace std;int main(){ int n, a[1000];//一共n个数,n不超过1000.a用来保存这些数 cin >> n; //输入n个数 for (int i = 0; i < n; i++) { cin >> a[i]; } //冒泡,不断比较相邻的两个数,如果顺序错了,那么就交换 for (int i = 0; i < n - 1; i++) { for (int j = 1; j < n - i; j++) { if (a[j - 1] > a[j]) { int temp = a[j]; a[j] = a[j - 1]; a[j - 1] = temp; } } } //依次输出 for (int i = 0; i < n; i++) { cout << a[i] << endl; } system("pause"); return 0;}
例二:找出第K大的数
描述
用户输入N和K,然后接着输入N个正整数(无序的),程序在不对N个整数排序的情况下,找出第K大的数。注意,第K大的数意味着从大到小排在第K位的数。
输入
N
K
a1 a2 a3 a4 ….. aN
输出
b
#include<iostream>using namespace std;int main(){ int a[1000];//存放要排序的数 int N; int K; cin >> N; cin >> K; for (int i = 0; i < N; i++){ cin >> a[i]; } //冒泡排序法对数组进行排序 for (int i = 0; i < N; i++){ for (int j = 1; j < N - i; j++){ if (a[j - 1] < a[j]){ int temp = a[j]; a[j] = a[j - 1]; a[j - 1] = temp; } } } cout << a[K - 1] << endl; system("pause"); return 0;}
阅读全文
0 0
- (1)冒泡法排序代码(另一个应用是找到第K大的数)
- leetcode 628 Maximum Product of Three Numbers c语言 (找到第k大的数)
- 在随机序列中,利用冒泡排序查找第K小(或者第K大)的元素
- 在BST中找到第k大的数
- 在无序数组中找到第k大的数
- 无序数组中找到第K小的数(或者找到最小的K个数)
- 两个排序的数组,找到第k大的元素
- 不排序找到第k大的值
- 利用快速排序找到第k大的数字
- 【基础算法】排序-复杂排序之二(找出第K大的数)
- 面试算法——寻找第K大的数(快速排序的应用)
- 求n个数中第k大的数、前K大的数、快速排序
- 第k大的数(快速排序的划分过程)
- 由快速排序引出的第k大的数..
- 两个排序数组第k大的数
- 快速排序找第k大的数
- DSOJ Kth Number(第k大的数)
- 寻找第K大的数(快排思想)
- 观看顾客户口与看一看预亏路路
- angular的一个小问题
- 配置中文分析器
- poj 3250
- jsp访问servlet
- (1)冒泡法排序代码(另一个应用是找到第K大的数)
- 卡特兰数公式推导
- BP神经网络模型及梯度下降法
- 学 Win32 汇编[28]
- CSS中的多种选择器和它们的优先级
- 关于mybatis生成插件Generator配置文件中自定义注释
- IO端口和IO内存访问
- PDO防注入原理分析以及使用PDO的注意事项
- Java实现-反转整数