概述 排序的思想有很多种,其中最基础的三种排序即,选择排序,插入排序,冒泡排序,下面通过数组中的元素排序代码来实现三种排序思想。 选择排序 使用到双指针思想,一个游历指针(用于遍历数组中所有元素, 出指定元素),一个标记指针(用于标记有序数组的末尾),使用到这种思想还可用于 ,`数组去除指定元素`等 ...
分类:
编程语言 时间:
2020-02-13 15:05:38
阅读次数:
61
$arr = [4,5,3,7,8,9];print_r(maopao($arr));function maopao($arr){ $len = count($arr); $n = $len-1; for ($i=0;$i<=$len;$i++){ for ($j=0;$j<$n;$j++){ if ...
分类:
编程语言 时间:
2020-02-12 16:04:04
阅读次数:
62
学习自菜鸟教程,自己加以总结希望可以多多重复!!! 冒泡排序 选择排序 插入排序 希尔排序 快速排序 归并排序 堆排序 基数排序 1 //冒泡排序 O(n2) 2 public static void BubbleSort(int[] arr){ 3 int temp; 4 for(int i=0; ...
分类:
编程语言 时间:
2020-02-12 14:53:26
阅读次数:
78
今天学习了下排序算法,参照别人的思路,自己实现了一次。此文作为今天学习的总结,以便以后复习查看。这篇博客中所提到的所有排序算法均以从小到大排序为例,其他情况请自行类比。 一.基本概念 1.算法分类 2.算法复杂度比较 二.各种算法实现及思路 1.冒泡排序 1.1算法描述 1)比较相邻的元素。如果前一 ...
分类:
编程语言 时间:
2020-02-12 12:42:01
阅读次数:
75
//环境和语言版本:go version go1.13 windows/amd64/********************************代码如下:*****************************************/package main import ( "fmt" " ...
分类:
编程语言 时间:
2020-02-11 19:31:20
阅读次数:
71
1 冒泡排序 时间复杂度 O(n²) 。额外空间复杂度O(1)。 1)算法步骤 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的 ...
分类:
编程语言 时间:
2020-02-11 14:22:41
阅读次数:
57
[toc] 1. 介绍 1.1 排序算法分类 1. 内部排序: 数据记录在内存中进行排序 2. 外部排序: 因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存 1.2 关于时间复杂度 1. 平方阶($O(n^2)$)排序 各类简单排序: 直接插入、直接选择和冒泡排序 2. 线性对 ...
分类:
编程语言 时间:
2020-02-09 16:45:15
阅读次数:
95
#冒泡排序#基本思想:两两相邻记录的关键字,如果反序则交换,直到没有反序的记录为止#要点:1.两两注意是相邻的两个元素的意思# 2.如果有n个元素需要比较n-1次,每一轮减少1次比较# 3.既然叫冒泡排序,那就是从下往上两两比较,所以看上去就跟泡泡往上冒一样。def bubblesort(numLi ...
分类:
编程语言 时间:
2020-02-07 20:39:40
阅读次数:
83
字符串本质就是字符数组,所以对字符串的排序也就是对字符数组的排序(有选择排序、冒泡排序、快速排序等常用算法); 思路: 字符串转换成字符数组 数组排序 用的冒泡排序, 注意点: 1. 一层循环下来会将最小的元素转移到末尾,即最小的元素与其他元素都进行了一次比较,所以还需要外层循环控制交换次数(len ...
分类:
编程语言 时间:
2020-02-07 18:39:43
阅读次数:
117
十大算法:https://blog.csdn.net/weixin_41317985/article/details/79461929 排序问题: 1.1冒泡排序冒泡排序算法就是依次比较大小,小的的大的进行位置上的交换。 var example=[8,95,34,21,53,12]; functio ...
分类:
编程语言 时间:
2020-02-07 16:23:48
阅读次数:
70