7-5 sdut-C语言实验-第k小的数

简介: 7-5 sdut-C语言实验-第k小的数

7-5 sdut-C语言实验-第k小的数


分数 20


全屏浏览


切换布局


作者 马新娟


单位 山东理工大学


现有一个包含n个整数(1<=n<=900000)的无序序列(保证序列内元素各不相同),输入一个整数k(1<=k<=n),请用较快的方式找出该序列的第k小数并输出。


###输入格式:

第一行先输入两个整数,n和k。


接下来是一行输入n个由空格分开的互不相同的整数num(1<=num<=90000000)。


###输出格式:

输出该组数据中第k小的数num。

###输入样例:

1. 6 4
2. 3 2 5 1 4 6

###输出样例:

4

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB

#include<stdio.h>
#include<stdlib.h>
void Quick_sort(int a[], int l, int r){
    if(l >= r) return ;
    int i = l - 1, j = r + 1, x = a[(l + r) / 2];
    while(i < j){
        do i++; while(a[i] < x);
        do j--; while(a[j] > x);
        if(i < j){
            int t = a[i];
            a[i] = a[j];
            a[j] = t;
        }
    }
    Quick_sort(a, l, j), Quick_sort(a, j + 1, r);
}
int a[900007];
int main()
{
    int n, k;
    scanf("%d%d", &n, &k);
    for(int i = 0; i < n; i++){
        scanf("%d", &a[i]);
    }
    Quick_sort(a, 0, n - 1);
    printf("%d\n", a[k - 1]);
    return 0;//max
}
目录
相关文章
|
6月前
7-8 sdut-C语言实验-老--质价比
7-8 sdut-C语言实验-老--质价比
34 0
|
4月前
7-5 sdut-C语言实验-最少拦截系统
7-5 sdut-C语言实验-最少拦截系统
31 6
|
4月前
7-8 sdut-C语言实验-取数字问题
7-8 sdut-C语言实验-取数字问题
27 2
|
4月前
|
人工智能 C语言
7-5 sdut -C语言实验-节约用电
7-5 sdut -C语言实验-节约用电
34 3
|
4月前
7-4 sdut-C语言实验-区间覆盖问题
7-4 sdut-C语言实验-区间覆盖问题
31 2
|
4月前
7-2 sdut-C语言实验-删数问题
7-2 sdut-C语言实验-删数问题
26 2
|
4月前
|
机器学习/深度学习 安全
7-3 sdut-C语言实验-小鑫去爬山
7-3 sdut-C语言实验-小鑫去爬山
29 2
|
4月前
|
算法
7-2 sdut-C语言实验-数字三角形问题
7-2 sdut-C语言实验-数字三角形问题
23 1
|
4月前
|
机器学习/深度学习 安全
7-3 sdut-C语言实验-王老师去爬山
7-3 sdut-C语言实验-王老师去爬山
28 1
|
4月前
|
机器学习/深度学习
7-6 sdut-C语言实验-第X大的数
7-6 sdut-C语言实验-第X大的数
27 0