选择排序-Python & Java
选择排序:
1、找出最小的数值放在第一位
2、找出剩余数据中最小的数值放在第二位,以此类推,直到最后一个数值
算法的时间复杂度为:O(n)
'''
选择排序:
1、找出最小的数值放在第一位
2、找出剩余数据中最小的数值放在第二位,以此类推,直到最后一个数值 算法的时间复杂度为:O(n)
'''
def find_min(list):
min = list[0]
minIndex = 0
for i in range(len(list)):
if(list[i] < min):
min = list[i]
minIndex = i
return minIndex def select_sort(list):
newList = []
for i in range(len(list)):
minIndex = find_min(list)
print(minIndex)
newList.append(list.pop(minIndex))
return newList if __name__ == '__main__':
list = [32, 13, 28, 5, 23, 56, 12, 78, 34]
result = select_sort(list)
print(result) #第二种
def select_sort(list):
if len(list) < 2:
return list
else:
for i in range(len(list) - 1):
for j in range(i + 1, len(list)):
if list[i] > list[j]:
tmp = list[i]
list[i] = list[j]
list[j] = tmp
return list if __name__ == "__main__":
list = [32, 13, 28, 5, 23, 56, 12, 78, 34, 1, 5]
result = select_sort(list)
print(result)
Java版:
/**
* 选择排序:
1、找出最小的数值放在第一位
2、找出剩余数据中最小的数值放在第二位,以此类推,直到最后一个数值
* Created by fred on 2018/7/31.
*/
public class SelectSort {
public static void main(String[] args) {
int[] arr = {3, 9, 1, 5, 2, 8, 4};
selectSort(arr);
for(int i : arr){
System.out.println(i);
}
}
public static void selectSort(int[] arr){
for(int i = 0; i < arr.length - 1; i++){
for(int j = i + 1; j < arr.length; j++){
if(arr[i] > arr[j]){
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
}
}
选择排序-Python & Java的更多相关文章
- 选择排序-Python与PHP实现版
选择排序Python实现 import random # 生成待排序数组 a=[random.randint(1,999) for x in range(0,36)] # 选择排序 def selec ...
- 选择排序之Java实现
选择排序之Java实现 一.方法一 package cn.com.zfc.lesson21.sort; /** * * @title SelectSort * @describe 选择排序 * @au ...
- 选择排序算法Java与Python实现
Java 实现 package common; public class SimpleArithmetic { /** * 选择排序 * 输入整形数组:a[n] [4.5.3.7] * 1. 取数组编 ...
- sf02_选择排序算法Java Python rust 实现
Java 实现 package common; public class SimpleArithmetic { /** * 选择排序 * 输入整形数组:a[n] [4.5.3.7] * 1. 取数组编 ...
- Java基础(46):选择排序的Java封装(完整可运行)
1 package lsg.ap.select; import java.util.Random; public class SelectSort { //选择排序 /** *@author: 梁山广 ...
- 选择排序——Python实现
选择排序: 选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理如下.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小( ...
- 排序算法系列:选择排序算法JAVA版(靠谱、清晰、真实、可用、不罗嗦版)
在网上搜索算法的博客,发现一个比较悲剧的现象非常普遍: 原理讲不清,混乱 啰嗦 图和文对不上 不可用,甚至代码还出错 我总结一个清晰不罗嗦版: 原理: 从数组头元素索引i开始,寻找后面最小的值(比i位 ...
- 选择排序 思想 JAVA实现
已知一个数组 9.29.95.47.79.37.18.56.96.22 使用选择排序是数组有序 选择排序同样是一个运行时间为O(N²)的排序算法. 算法思想:(以从小到大为例) 9.29.95.47. ...
- 排序算法-选择排序(Java)
package com.rao.linkList; import java.util.Arrays; /** * @author Srao * @className SelectSort * @dat ...
随机推荐
- 【Java架构:基础技术】一篇文章搞掂:Maven
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文基于<Maven 实战>一书进行总结和扩展,大家也可以自行研读此书. 一.Maven简介 1.1.什么是Maven ...
- 20175203 2018-2019-2《Java程序设计》第五周学习总结
20175203 2018-2019-2<Java程序设计>第五周学习总结 第六章:接口与实现 本周学习了<Java程序设计>第六章的内容:接口与实现,以下为本周学习总结. 知 ...
- API参考文档
Android 中文版:http://www.apiref.com/android-zh/index.html Bootstrap3 教程:http://www.apiref.com/bootstra ...
- 人物-IT-周鸿祎:百科
ylbtech-人物-IT-周鸿祎:百科 周鸿祎(zhōu hóng yī),1970年10月4日生于湖北省黄冈市蕲春县.360公司创始人.董事长兼CEO.奇酷CEO.九三学社中央委员.九三学社中央科 ...
- Windows-添加环境变量(path)
使用命令提示符(cmd.批处理.Batch..bat)添加环境变量 永久环境变量 命令提示符下修改 注意:要使用管理员身份运行 cmd set PATH=%PATH%;要添加的路径 reg add & ...
- java中子类继承父类程序执行顺序
java中子类继承父类程序执行顺序 FatherTest.java public class FatherTest { private String name; public FatherTest() ...
- 用 Flask 来写个轻博客 (5) — (M)VC_SQLAlchemy 的 CRUD 详解
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 SQLAlchemy 的 CRUD Create 增添数据 ...
- WPF常规表单验证
1:ViewModel 实现验证接口 IDataErrorInfo 2:实现接口的相关验证逻辑,并把错误信息反馈给 Error public string this[string columnName ...
- 爬虫(四)—— 使用pyecharts展示数据
pyecharts模块 pyecharts可以将数据形象的在页面中用图表显示 一.安装 pip install pyecharts 二.使用 import pyecharts # 创建一个页面 pag ...
- Scrapy框架: 基本命令
1.创建爬虫项目 scrapy startproject [项目名称] 2.创建爬虫文件 scrapy genspider +文件名+网址 3.运行(crawl) scrapy crawl 爬虫名称 ...