首页 > 其他分享 >选择排序

选择排序

时间:2023-02-07 14:33:24浏览次数:28  
标签:index min list 选择 num print 排序

选择排序算法原理:

    首先在未排序序列中假设第一个元素为最小或者最大元素,然后再从剩余的元素中选择最小的(或者最大的)元素,然后放到已排序的头部或者尾部。以此类推,直到所有元素均排序完毕

 

Python代码实现:

from random import shuffle


def choice(num_list):
    print("start: ", num_list)
    num_count = len(num_list)
    for i in range(num_count - 1):
        min_index = i
        print(num_list)
        for j in range(i, num_count):
            if num_list[min_index] > num_list[j]:
                min_index = j
        if min_index != i:
            num_list[i], num_list[min_index] = num_list[min_index], num_list[i]
    print("end: ", num_list)


a = list(range(10))
shuffle(a)
choice(a)

 

标签:index,min,list,选择,num,print,排序
From: https://www.cnblogs.com/xianqingsong/p/17098305.html

相关文章

  • 拓扑排序 信息奥赛一本通 1352:【例4-13】奖金
    1352:【例4-13】奖金时间限制:1000ms      内存限制:65536KB提交数:607   通过数:223 【题目描述】由于无敌的凡凡在2005年世界英俊帅气男总决选中胜出,Y......
  • [C++]数据结构之堆-上滤下滤以及用于排序
    #include<iostream>usingnamespacestd;/**堆,就是一棵完全二叉树,物理存储方式是数组,一般情况下,都牺牲第一个元素arr[0],剩下的就满足了从1开始计数*若堆从1开始计数,那么......
  • 51NOD 1278 相离的圆(二分 + 排序 好题)
    平面上有N个圆,他们的圆心都在X轴上,给出所有圆的圆心和半径,求有多少对圆是相离的。例如:4个圆分别位于1,2,3,4的位置,半径分别为1,1,2,1,那么{1,2},{1,3}{2,3}{2,4......
  • 51nod 2484 小b和排序(DP)
    小b有两个长度都为n的序列A,B。现在她需要选择一些i,然后交换A[i]和B[i],使得A和B都变成严格递增的序列。你能帮小b求出最少交换次数吗?输入保证有解。 收起输入第一行输入一......
  • 租用服务器如何选择带宽,带宽越大越好吗
    首先要了解带宽是什么~ 对于服务器来说带宽分两种:上行带宽和下行带宽上行带宽:是指在服务器上传数据的速度,对用户来说是从服务器里下载数据的速度。下行带宽:就是指服务......
  • 堆排序
    leetcode-FindKthLargestpublicclassKthLargest{publicstaticvoidmain(String[]args){System.out.println(findKthLargest(newint[]{3,2,1,5,6,4}......
  • LeetCode搜索旋转排序数组(/二分查找)
    原题解题目约束题解classSolution{public:intsearch(vector<int>&nums,inttarget){intn=(int)nums.size();if(!n){......
  • 姜雨:从牛羊基因组选择到分子设计育种
     https://mp.weixin.qq.com/s/l6BgFt6-aw1aBIprNR4A_Q ......
  • 24-冒泡排序
    packagecom.wang.array;importjava.util.Arrays;publicclassDemo07{publicstaticvoidmain(String[]args){int[]x={5,92,65,48,24,22,67,65......
  • 简单选择排序
    选择排序(SelectionSort)的基本思想:对n个记录进行扫描,选择最小的记录,将其输出,接着在剩下的n-1个记录中扫描,选择最小的记录将其输出,……不断重复这个过程,直到只剩一个记录为止......