你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
给你一个整数数组nums,请你将该数组升序排列。
nums
示例1:
输入:nums = [5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:nums = [5,1,1,2,0,0] 输出:[0,0,1,1,2,5]
要求:使用选择排序在时间复杂度,空间复杂度,是否为原地排序,是否具有稳定性给出答案。
没有找到相关结果
空心菜 - 心向阳光,茁壮成长
Java代码实现:
package com.sort.select; import java.util.Random; import java.util.stream.IntStream; public class Select { public static void main(String[] args) { // 选择出最小的值,然后与首位交换,接下来的每个位置一样处理 Random random = new Random(); IntStream limit = random.ints().limit(10); int[] ints = limit.toArray(); for (int i : ints) { // System.out.println(i); } ints = new int[]{3,1,3}; System.out.println(“=====================================”); int[] sort = sort(ints); for (int i : sort) { System.out.println(i); } } // 原地 不具有稳定性 时间复杂度 O(n^2) 空间复杂度O(1) public static int[] sort(int[] list){ for (int j = 0; j < list.length; j++){ int minIndex = j; for (int i = j; i < list.length; i++){ if (list[minIndex] > list[i]){ minIndex = i; } } int valueOfMinIndex = list[j]; list[j] = list[minIndex]; list[minIndex] = valueOfMinIndex; } return list; } }
要回复问题请先登录或注册
1 个回复
空心菜 - 心向阳光,茁壮成长
Java代码实现: