java的选择排序序的疑惑

算法(20)
选择排序—简单选择排序(Simple Selection Sort)
基本思想:
在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。
简单选择排序的示例:
操作方法:
第一趟,从n 个记录中找出关键码最小的记录与第一个记录交换;
第二趟,从第二个记录开始的n-1 个记录中再选出关键码最小的记录与第二个记录交换;
以此类推…..
第i 趟,则从第i 个记录开始的n-i+1 个记录中选出关键码最小的记录与第i 个记录交换,
直到整个序列按关键码有序。
#include&iostream&
#include&string&
using namespace std;
void print(int a[],int n,int i){
cout && "第" && i+1 && "趟:";
for(int j=0;j&n;j++){
cout && a[j] && " ";
int selectMin(int a[],int n,int i){
for(int j=i+1;j&n;j++){
if(a[k] &a[j]) k=j;
void selectSort(int a[],int n){
for(int i=0;i&n;i++){
key=selectMin(a,n,i);
if(key != i){
temp=a[i];
a[i]=a[key];
print(a,n,i);
int main(){
int a[8]={9,7,6,5,4,3,2,1,};
selectSort(a,8);
第1趟:1 7 6 5 4 3 2 9
第2趟:1 2 6 5 4 3 7 9
第3趟:1 2 3 5 4 6 7 9
第4趟:1 2 3 4 5 6 7 9
第5趟:1 2 3 4 5 6 7 9
第6趟:1 2 3 4 5 6 7 9
第7趟:1 2 3 4 5 6 7 9
第8趟:1 2 3 4 5 6 7 9
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:28448次
积分:1511
积分:1511
排名:千里之外
原创:117篇
转载:45篇
评论:14条
(55)(48)(15)(3)(4)(4)(2)(8)(16)(10)问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
我在书上看到的说明是:一般情况下选择排序慢于插入排序慢于希尔排序,可是我自己用Python测试了下,竟然是选择排序是最快的,希尔排序比插入排序稍微快一点。。
我自己分析原因可能是插入排序和希尔排序有太多交换元素的操作了,所以效率低,但书上说的是希尔排序会是最快的,请各位大神指点?
我的测试代码在这里:
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
说快慢是在基于时间复杂度、空间复杂度等等的条件,你不能说写个程序一侧看谁快,会有偶然性的,请从算法的性能因素方面来考虑
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
从理论上讲理
选择排序&插入排序&希尔排序 但是实际耗时取决于样本和具体实现。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
搞1w个用例测一下
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
插入排序的的if语句应该写在内循环条件里面,你的插入排序时间复杂度和选择排序时间复杂度一样,所以慢
Insertion sort based on exchange
@param array, Array of Comparable to be Sorted
public static
void sort( Comparable[] array ){
for (int i = 1; i & array. i++) {
for(int j=i;j&0&&less(array[j],array[j-1]);j--){
exch(array, j, j-1);
同步到新浪微博
分享到微博?
Hi,欢迎来到 SegmentFault 技术社区!⊙▽⊙ 在这里,你可以提出编程相关的疑惑,关注感兴趣的问题,对认可的回答投赞同票;大家会帮你解决编程的问题,和你探讨技术更新,为你的回答投上赞同票。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:

我要回帖

更多关于 java中的选择排序 的文章

 

随机推荐