文档章节

学习选择排序算法

rainmanqqst
 rainmanqqst
发布于 2014/09/14 10:22
字数 205
阅读 17
收藏 0

选择排序的工作过程如下:首先,选中数组中最小的元素,将它与数组中第一个元素进行交换。然后找到次小的元素,并将它与数组中第二个元素进行交换。按照这种方法一直进行下去,直到整个数组排完序。

     选择排序的的执行时间比较固定,不会因为原文件是否有序而改变。

python代码实现:

#!/usr/bin/env python

def swap(array,i,j):
    temp = array[i]
    array[i] = array[j]
    array[j]= temp

def selection(array,begin,end):
    if(end > begin >= 0):
        for i in range(end):
            temp = end
            for j in range(end,begin+i-1,-1):
                if array[j] < array[temp]:
                    temp = j
            swap(array,i,temp)
            print array
            print "-------------------"
if __name__=="__main__":
    array = [6,4,8,1,4,7,3]
    selection(array,0,len(array)-1)

参考文档:《算法:C语言实现》

© 著作权归作者所有

rainmanqqst
粉丝 8
博文 65
码字总数 37021
作品 0
浦东
程序员
私信 提问
【算法】——选择排序

前言: 近期很多时间用来学习算法上了,之前每一次学习算法都是纸上谈兵,打嘴炮,看看,说说,以为思路搞清楚了就万事大吉了,不去理会大家说的一定要去自己做,动手就想着我动手了啊,我明...

R_s_x
2017/09/29
0
0
一个Java小白通向数据结构算法之旅(5) - 选择排序

前言 今天去东鹏特饮面试,我很生气。面的技术岗,卷子竟然是营销的。浪费了我一晚上的时间,害得我差点没赶上地铁的末班车。你能敢相信?这是面的试卷。生气归生气,学习还是要继续的。 im...

cmazxiaoma
2017/11/07
0
0
【译】Swift算法俱乐部-选择排序

本文是对 Swift Algorithm Club 翻译的一篇文章。 Swift Algorithm Club是 raywenderlich.com网站出品的用Swift实现算法和数据结构的开源项目,目前在GitHub上有18000+⭐️,我初略统计了一下...

Andy_Ron
2018/09/28
0
0
排序算法篇_选择排序法

image   选择排序(Selection Sort)也是比较简单的排序算法,思路也比较直观。选择排序算法在每一步中选取最小值来重新排列,从而达到排序的目的。 选择排序算法 选择排序算法通过选择和交...

一笑小先生
2018/01/30
0
0
JavaScript 数据结构与算法之美 - 冒泡排序、插入排序、选择排序

1. 前言 算法为王。 想学好前端,先练好内功,只有内功深厚者,前端之路才会走得更远。 笔者写的 JavaScript 数据结构与算法之美 系列用的语言是 JavaScript ,旨在入门数据结构与算法和方便...

天明夜尽
07/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

好程序员Java学习路线分享MyBatis之线程优化

  好程序员Java学习路线分享MyBatis之线程优化,我们的项目存在大量用户同时访问的情况,那么就会出现大量线程并发访问数据库,这样会带来线程同步问题,本章我们将讨论MyBatis的线程同步问...

好程序员官方
28分钟前
6
0
IDEA 自定义方法注解模板

IDEA 自定义方法注解模板 1、使用效果 /*** 计算交易费用* @Author wangjiafang* @Date 2019/9/11* @param feeComputeVo* @return*/@PostMapping("/v1/fee_compute")public ApiResp......

小白的成长
28分钟前
6
0
转:进程 线程 协程 管程 纤程 概念对比理解

引言 不知道是不是我自己本身就有那么一丝丝的密集恐惧,把这么一大堆看起来很相似很相关的概念放在一起,看起来是有点麻,捋一捋感觉舒服多了。 相关概念 任务、作业(Job,Task,Schedule)...

xiaomin0322
39分钟前
6
0
前端数组转化成字符串

val=val.join(","); 转化后:“1,2,3”

郭周园
41分钟前
4
0
Spring Boot Admin配置详解

Client端配置 参数 默认值 说明 spring.boot.admin.client.enabled true 是否启用springbootAdmin客户端 spring.boot.admin.client.url 要注册的server端的url地址。如果要同时在多个server端...

兜兜毛毛
41分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部