(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;}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 单位职工去世该怎么办 妇科检查tct阳性怎么办 当兵体检有痔疮怎么办 裤子裂开了怎么办视频 7p耗电快怎么办 战地4一直离线怎么办 战地1封永久怎么办? 战地1下载不了怎么办 手机解压包异常怎么办 电脑显示文件损坏怎么办 360解压坏了怎么办 dnf邮箱满了怎么办 origin会员过期存档怎么办 电脑文件夹删除不了怎么办 黑苹果内核错误怎么办 win10文件夹拒绝访问怎么办 苹果电脑没有系统了怎么办 黑苹果安装之后怎么办 笔记本cpu核显坏了怎么办 粘贴大量文件卡住怎么办 mx不能播放rv40怎么办 迷你世界联机卡怎么办 绝地求生被火瓶烧了怎么办 win8电脑太卡怎么办 win8关机没反应怎么办 arma3没子弹了怎么办 g350d柴油冻了怎么办 散热硅胶干了怎么办 电脑打不开pdf文件怎么办 文件变成快捷方式打不开怎么办 ai文件打不开了怎么办 电脑下载了病毒软件怎么办 打嗝停不下来怎么办 咳嗽停不下来怎么办 电动机停不下来怎么办 电脑所有程序都打不开怎么办 机顶盒画面卡顿怎么办 电脑画面卡顿怎么办 鞋舌头跑偏怎么办 球球大作战老卡怎么办 孩子被打却不敢还手怎么办?