概述
泡沫排序可以,此次用快速排序法来做题。
题目://给你n个整数,请按从大到小的顺序输出其中前m大的数。
输入:多组测试,第一行输入两个整数n m。 第二行输入n个数。
输出:第三行输出前m大的数。
n>1 || n<1000000。
最终呈现如下:
红方块:n 红⚪是m
蓝方块是最终输出。
//给你n个整数,请按从大到小的顺序输出其中前m大的数。 #include<stdio.h> //从大到小。 void qicksort(int arr[], int left, int right) { int l = left; int r = right; int t = arr[left]; if (l >= r) return; while (l < r) { while ((l < r) && (arr[r] < t)) { r--; } arr[l] = arr[r]; while ((l < r) && (arr[l] > t)) { l++; } arr[r] = arr[l]; } arr[l] = t; qicksort(arr, left, l - 1); qicksort(arr, l + 1, right); } int arr[1000000] = { 0 }; int main() { int n = 0; int m = 0; while (scanf("%d %d", &n, &m) != EOF) { int i = 0; for (i = 0; i < n; i++) { scanf("%d", &arr[i]); } qicksort(arr, 0, n - 1); for (i = 0; i < m; i++) { printf("%d ", arr[i]); } printf("n"); } return 0; }
最后
以上就是谨慎含羞草为你收集整理的给你n个整数,请按从大到小的顺序输出其中前m大的数的全部内容,希望文章能够帮你解决给你n个整数,请按从大到小的顺序输出其中前m大的数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复