//冒泡排序 //1.比较数组中,两个相邻的元素,如果第一个比第二个大,则它们交换位置。 //2.每一次比较,都会产生一个最大或者最小的元素。 //3.下一轮可以少一次排序。 //4.知道循环结束 //实例: public class Demo1 { public static void main( ...
分类:
编程语言 时间:
2020-12-14 12:47:20
阅读次数:
8
用for循环实现冒泡排序(升序): array = [3,2,1] for i in range(len(array) - 1, 0, -1): for j in range(0, i): if array[j] > array[j + 1]: array[j], array[j + 1] = ar ...
分类:
编程语言 时间:
2020-12-10 10:44:59
阅读次数:
5
**算法名称:**选择排序 基本原理(从小到大): S1:选出数组中最小元素(记下标为i)(一基准值也可)。 S2:从剩余待排序数组元素选出最小元素与下标为(i+1)元素交换。 S3:重复S2。 算法图示: 图片来自https://www.runoob.com/w3cnote/selection-s ...
分类:
编程语言 时间:
2020-12-09 12:30:22
阅读次数:
9
$array = array(1,2,5,6,4,8,7,9); function mysort($array){ for($i=0;$i<count($array);$i++){ for($j=0;$j<count($array)-1-$i;$j++){ if($array[$j]>$array[ ...
分类:
编程语言 时间:
2020-12-09 12:06:46
阅读次数:
6
思想:每次遍历列表,选择一个最大或者最小的数,然后将该数放在列表前面, 整个列表可以分为2部分:左边为每次选择的最大/最小数,右边等待选择的数据. 这个过程需要n-1趟,最后一个数肯定是最大/最小的数。 #!/usr/bin/env python #-*- coding:utf-8 -*- ''' ...
分类:
编程语言 时间:
2020-12-04 11:35:56
阅读次数:
23
第四讲 排序 4.1 巨经典的排序算法 1. 冒泡排序(很简单) 平均时间复杂度 O(n^2) ,空间复杂度 O(1),稳定 基本思想 两个数比较大小,较大的数下沉,较小的数冒起来。 演示(图片来自菜鸟教程) 代码 /** * 冒泡排序 * @param array 待排序的数组 */ public ...
分类:
编程语言 时间:
2020-12-04 11:29:30
阅读次数:
5
冒泡排序 冒泡排序无疑是最为出名的排序算法之一,总共有八大排序! 冒泡的代码还是相当简单的,两层循环,外层冒泡层数,里层依次比较,江湖中人人皆知。 我们看到嵌套循环,应该立马可以得出这个算法的时间复杂度为O(n^2) package array; import java.util.Arrays; p ...
分类:
编程语言 时间:
2020-11-30 16:15:19
阅读次数:
31
一、冒泡排序 常用的也是简单的排序算法 个人理解: 步骤:往后对比、找最值、换最值 第一层i循环次数就是要排序数组的个数 第二层j循环可以每次都从第一个数开始往后对比,如果大\小于就交换,保证对比值一直都是最值 第二层循环条件中可以减去i,因为i每次循环后都会得一个最值往后面冒泡,即i下标后面的数已 ...
分类:
编程语言 时间:
2020-11-30 15:31:30
阅读次数:
24
冒泡排序:比较相邻两个项,若 第一个项 大于 第二个项,那么交换他们,元素向上移动一次,直到遍历结束。 来实现一下 function bubbleSort(arr) { // 提前存储数组的长度 避免每次遍历都读这个值 let { length } = arr // 开始一个外层循环,代表每次取下标 ...
分类:
编程语言 时间:
2020-11-30 15:29:42
阅读次数:
6
Java数组 定义: 是相同类型数据的有序集合 是相同类型的若干个数据,按一定先后顺序排列组合而成。 每个数据称作数组元素,每个数组元素可通过下标访问。 申明创建: 写法: int[] nums; nums=new int[10]; int nums[]; 内存分配示意图: 三种初始化: 静态初始化 ...
分类:
编程语言 时间:
2020-11-30 15:24:55
阅读次数:
4