【用PHP写的一个冒泡排序法的函数简单实例】教程文章相关的互联网学习教程文章

排序算法(1)冒泡排序(Bubble Sort)【代码】【图】

冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 1.1 算法描述比较相邻的元素。如果第一个比第二个大,就交换它们两个; 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应...

常见排序算法之冒泡排序【代码】

/*** 冒泡排序的核心就是,按顺序进行两两比较,如果第一个比第二个大则交换位置*/ public class MaoPaoPaiXu {private static int[] bubbleSort(int[] a) {// 至少进行n-1轮比较for (int i = 0; i < a.length - 1; i++) {// 第一轮比较完毕后,最大的已经排到最后面,所以下次比较就不用比较最后一个了,这样更快for (int j = 0; j < a.length - i - 1; j++) {if (a[j] > a[j + 1]) {// 交换位置swap(a, j, j + 1);}}}return a;}pr...

Python排序算法——冒泡排序【代码】【图】

有趣的事,Python永远不会缺席!如需转发,请注明出处:小婷儿的python? https://www.cnblogs.com/xxtalhr/p/10786904.html? 一、冒泡排序(Bubble Sort)冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,一层一层的将较大的元素往后移动,其现象和气泡在上升过程中慢慢变大类似,故成为冒泡排序。 1、原理从第一个和第二个开始比较,如果第一个比第二个...

PHP实现 冒泡排序

<?php /*** Created by PhpStorm.* User: baimayou* Date: 19-4-6* Time: 下午2:45* 冒泡排序* 原理:每次冒泡排序都会对相邻两个元素进行比较,每趟冒泡排序都会选出最大的数据到末尾* 解法:因为是两两交换,所以不需要设置最大值,每次八比较的相邻元素中的最大值放在靠后的位置即可;* 有两层循环,第一层控制趟数,第二层控制交换的次数,所以长度是 $len - $i -1 ,因为末尾的额 i 个元素位置已经确定,不需要排序* 注意...

Java - 冒泡排序的基础算法(尚学堂第七章数组)【代码】

/*** 冒泡排序的基础算法*/import java.util.Arrays;public class TestBubbleSort1 {public static void main(String[] args) {int[] values = { 3, 1, 6, 2, 9, 0, 7, 4, 5, 8 };int temp = 0;/* 2.调用内循环length-1次,数字逐渐实现从左到右依次向后排,* 每执行n次内循环就出现n个排好的数值,故内循环可少执行i次, 所以内循环条件可写成 j < values.length - 1 - i */for(int i=0;i<values.length-1;i++) {System.out.print...

java实现排序(二分法,选择排序,直接插入排序,冒泡排序,希尔排序)

二分法package com.ycit.sortSelect;import java.sql.Array; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Map;/*** * @author Administrator* 选择排序*/ public class SelectSort {public void selectSort(int array[]){int min;int temp = 0;for(int i = 0;i<array.length;i++){min = array[i];for(int j = i;j<array.length;j++){if(min<array[j]){min = array[j];temp = array[i];array[i] = ...

冒泡排序算法【图】

冒泡排序算法思路:1.将整个数列分成两个部分,前面是无序数列,后面是有序数列2.未进行排序操作时,整个数列都是无序的,有序数列为空3.如果一个数列有n个元素,那至少要n-1次循环才能保证数列有序4.每一次循环可以让无序数列中的最大的数推到最后,推进有序数列5.每一次循环都从整个数列的第一个元素开始比较,依次比较相邻两个元素,直到比较到无序数列结尾(不是整个数列结尾)6.判断数列是否有序方式为:如果循环一次之后没有...

排序算法C语言实现(一):选择排序, 冒泡排序, 插入排序【代码】

1 选择排序#include <stdio.h>//交换两个数void swap(int* a,int* b){if(a != b){*a = *a ^ *b;*b = *a ^ *b;*a = *a ^ *b;} }//从大到小排序 //pSortArray为需要排序的数组,size为数组中元素的个数 void swapSort(int* pSortArray, int size) {int iMax;int iMaxIndex;for(int i = 0;i < size-1;i++){iMaxIndex = i;for(int j = i + 1;j < size;j++){if(pSortArray[iMaxIndex] < pSortArray[j])iMaxIndex = j; //找出未排序部分最...

C#基础-冒泡排序【图】

冒泡排序基础 冒泡排序原理图分析tmp在算法中起到数据交换的作用 int[] intNums = { 12,6,9,3,8,7 }; int tmp = intNums[0]; // 一共5次冒泡,从1开始 for(int i = 1; i < intNums.Length; i++) {// 每一次冒泡比较次数for(int j = 1; j <= intNums.Length - i; j++){if (intNums[j - 1] > intNums[j]){tmp = intNums[j-1];intNums[j - 1] = intNums[j];intNums[j] = tmp;}} } for(int i = 0; i < intNums.Length; i++) {Console.W...

PHP实现冒泡排序算法相关案例【代码】

<?php /*** 冒泡排序,先找出一个最大的浮上去,然后再依次找最大的浮上去*/ function mpsort($a = []){$nCount = count($a);if($nCount < 1){return $a;}for($i=0; $i<$nCount; $i++){// 外层循环决定真正的顺序for($j=$nCount-1; $j>$i; $j--){// 里层循环决定每两块比较的元素的顺序if($a[$j] > $a[$j-1]){// 真正比较的逻辑 --两两换位$tmp = $a[$j-1];$a[$j-1] = $a[$j];$a[$j] = $tmp;}}}return $a; } $a = [120,2,500,3,34,...

算法 - 冒泡排序(Java)

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net package chimomo.learning.java.algorithm.sort;/*** @author Chimomo** <p>* Bubble sort is a kind of simple sort algorithm in computer science. It* repeatedly visit the sequence to be sorted, compare two elements each time,* swap them if their order is wrong, until no elements nee...

算法分析:什么是冒泡排序?【代码】【图】

2011年,C语言老师给我们讲冒泡排序。 2014年,听同学说起他面试时和面试官提起冒泡排序。 2015年,大学本科刚毕业,开始找工作,我还记得我在笔记中写了冒泡排序的代码,结果还真的被问到了。 2019年,公司首席架构师跟我提到冒泡排序。 什么是冒泡排序呢? 冒泡排序,Bubble Sort,通过依次来比较相邻两个元素的大小,在每一次的比较的过程中,两个元素,通过交换来达到有序的目的。如果一组无序的数列想要从小到大排序,那么两...

冒泡排序算法【代码】

冒泡排序算法 1. 原理冒泡排序,顾名思义就是将想冒泡一样将最大的那个数冒到最高点。在一个数组中,遍历这个数组,从第一个数开始,和后面一个数两两比较,如果前面一个数比后面一个数大,就交换2个数的位置,这样可保证数组中最大的那个数一定在最后一位。这是第一次比较,接下来这个最大的数就不参与比较了,第二次比较重复上面操作,将第二大的数放在倒数第二位。同理,每次都把最大的数放在参与比较的数的最后一位,比到参与的...

Python排序算法之冒泡排序【代码】

冒泡排序 顾名思义,冒泡排序直观的意思是气泡越大冒的越快:),对应到我们的列表中就是数字最大的先选出来,然后依次进行。例如 myList = [1,4,5,0,6],比较方式为:相邻的两个数字先进行比较,也就是myList[0]和myList[1],发现不是">"的关系,就继续比较myList[1]和myList[2]。。。依次进行,发现myList[2]>myList[3](及5>0),就进行交换,所以走完第一次全列表比较得到新列表[1,4,0,5,6],然后每一次扫描得到的新列表如下:第一...

算法探索实录 - 5、冒泡排序【图】

目录 还是那副优秀的扑克牌 排序分析 冒泡排序Java代码实现 算法原理 时间复杂度 夕阳西下,程序员在编码! 还是那副优秀的扑克牌 我们再对那副优秀的扑克牌进行一次排序,从左到右,比较相邻两张牌的点数大小,将点数大的扑克牌放在右边,初始牌为:82JQ6A第一轮排序(5次): 第一次比较:8和2比较,8大于2,8和2交换位置,牌变成:28JQ6A 第二次比较:8和J比较,8小于J,位置不变,牌和上面保持一致 第三次比较:J和Q,J小于Q,...