关于快速排序算法的问题C++

来源:百度知道 编辑:UC知道 时间:2024/05/26 08:28:41
我想实现的是 输入一串随机数,暂定为100个,然后用快速排序算法排序,不过我们老师要求输入的随机数为使快速排序算法效率最低的组合,这该怎么实现啊
随机数这样产生的:
srand(clock() / 1000);
rand();// 产生的随即数

我该怎么编程实现产生的100个随机数使快速排序效率最低呢?或者根本不能实现这样的功能 了解这个算法的请帮忙看一下 谢谢了

效率最低的就是已经排好相反序的,或者从大到小,或者从小到大(看你想排成什么样的,你想从小到大排序,就给出一个从大到小的序列)。当以第一个为基准的时候,就是效率最低的。这样的话,生成的随机数的同时你要排下序,而且此序与快排的排序方向相反。你们老师真无聊,整这样的东西干嘛,看LZ的样式似乎不用我code.1楼的倒着给出序列到是可取的~~~

快速排序法,应该就是众所周之的选择排序法吧,根据选择排序法的算法,那就应该只要倒着排,效率就是最低的啊,就是99、98、97......

将生成的随机数逆序排序,就会使快速排序效率最低。

一楼那傻差不懂瞎说,快速排序是递归执行的,选择法是顺序执行的,两码事。

就我觉得啊,用冒泡法排序效率底,而好像是用二分法效果很好哦