选择排序(输出第k小的数)
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include<cstdio> #include<iostream> #include<algorithm> using namespace std; const int NR=1e5; int a[NR+10]; int main() { int n,k; scanf ( "%d%d" , &n, &k); // 初始化数组 for ( int i=1;i<=n;i++) { scanf ( "%d" , &a[i]); } // 选择排序 for ( int i=1;i<=n;i++) { for ( int j=i+1;j<=n;j++) { if (a[j]<a[i]) // 从小到大 swap(a[j], a[i]); } } printf ( "%d" , a[k]); return 0; } |
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
【推荐】园子的不务正业:向创业开发者推荐「楼盘」- 杭州云谷中心
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】天翼云爆款云主机2核2G限时秒杀,28.8元/年起!立即抢购