
排序
ryo_218
要努力成为别人的依赖呀!
展开
-
第七届蓝桥杯省赛C++B组 快速排序
快速排序排序在各种场合经常被用到。快速排序是十分常用的高效率的算法。其思想是:先选一个“标尺”,用它把整个队列过一遍筛子,以保证:其左边的元素都不大于它,其右边的元素都不小于它。这样,排序问题就被分割为两个子区间。再分别对子区间排序就可以了。下面的代码是一种实现,请分析并填写划线部分缺少的代码。#include <stdio.h>void swap(i...转载 2018-03-22 13:15:48 · 1006 阅读 · 0 评论 -
第七届蓝桥杯省赛C++B组 交换瓶子
交换瓶子有N个瓶子,编号 1 ~ N,放在架子上。比如有5个瓶子:2 1 3 5 4要求每次拿起2个瓶子,交换它们的位置。经过若干次后,使得瓶子的序号为:1 2 3 4 5对于这么简单的情况,显然,至少需要交换2次就可以复位。如果瓶子更多呢?你可以通过编程来解决。输入格式为两行:第一行: 一个正整数N(N<10000), 表示瓶子的数目第二行:N个正整数,用空格分开,...原创 2018-03-22 13:17:49 · 947 阅读 · 0 评论 -
第九届蓝桥杯省赛C++B组 快速排序
标题:快速排序以下代码可以从数组a[]中找出第k小的元素。它使用了类似快速排序中的分治算法,期望时间复杂度是O(N)的。请仔细阅读分析源码,填写划线部分缺失的内容。#include <stdio.h>int quick_select(int a[], int l, int r, int k) { int p = rand() % (r - l + 1) ...原创 2018-04-03 23:05:16 · 2252 阅读 · 7 评论