03 冒泡排序(Bubble Sort)每次选择两个元素,按照需求进行交换(比如需要升序排列的话,把较大的元素放在靠后一些的位置),循环 n 次(n 为总元素个数),这样小的元素会不断 “冒泡” 到前面来。void bubbleSort(int arr[],int n)
{bool swapp = true;while(swapp){swapp = false;for (int i = 0; i < n; i++) {if (arr[i] > a[i+1] ){a[i] += a[i+1];a[i+1] = a[i] - a[i+1];a[i] -=a[i+1];swapp = true;}}}
}空间效率:O(1)时...
经典排序算法 - 冒泡排序Bubble sort原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似看例子例子为从小到大排序,原始待排序数组| 6 | 2 | 4 | 1 | 5 | 9 | #include "iostream.h"
main()
{int a[6]={6,2,4,1,5,9};for(int i=0;i<6;i++){for(int j=0;j<6-i;j++){if(a[j]>a[j+1]){int temp=a...
import random#用random和range生成30个数的一个列表
lis = []
for i in range(10):n = random.randint(1,1000)lis.append(n)
#查看原有列表
print(lis)#使用冒泡算法
for i in range(len(lis)):for j in range(len(lis)):if lis[i] < lis[j]:lis[i],lis[j] = lis[j],lis[i]
print(lis)
原文:http://blog.51cto.com/853056088/2171438
public static void maopao() { int temp; int[] values = {2, 34, 0, 245}; for (int i = 0; i < values.length; i++) { // 每次操作都会给最大的找出来 for (int j = 0; j < values.length - 1 - i; j++) { if (values[j] > values[j + 1]) { temp = values[j]; values[j] = values[j + 1]; values[j + 1] = temp; } } }原...
python内置模块之(os,sys,hashlib,re)os模块 1 os.path.dirname() # 获取文件的上一层目录名,其实就是os.path.split(path)的第一个元素 2 os.path.abspath() # 获取文件的绝对路径,包括文件名 3os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径4 os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd5 os.curdir 返回当前目录: (‘.‘)6 os.pardir ...
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。冒泡算法的原理比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素...
package com.kuang;import java.util.ArrayList;/** * @auther 付强 * @date 2020/2/7 - 22:06 */public class erfen1 { public static void test1(int[] arr){ if(arr==null||arr.length<2){ return; } for(int end=arr.length-1;end>0;end--){ for(int i=0;i<end;i++){ if(arr[i]>arr[i+1]){ swap(arr,i,i+1); } } ...
冒泡排序属于交换排序,是一种稳定排序原理:冒泡算法是将较小的元素搬移到数组的开始,将较大的元素慢慢地往数组的尾部移动,小的数据就像气泡一下往上冒,而大的数据就像石头一样往下沉。总结两个方法,分别是「递归」、「双层for循环」实现: 「双层for循环」: for()方法内传入一个数组,对数组进行循环 n-1 次,并判断,两两比较,前值是否大于后值,如果是则交换。依次再次进行循环数组 n-1 次,最后返回有序的数组。$ar...
冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。算法描述1、比较相邻的元素。如果第一个比第二个大,就交换它们两个;2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应...
1.思路(1)对未排序的各元素从头到尾依次比较相邻的两个元素大小关系(2)如果左边的队员高, 则两队员交换位置(3)向右移动一个位置, 比较下面两个队员(4)当走到最右端时, 最高的队员一定被放在了最右边(5)按照这个思路, 从最左端重新开始, 这次走到倒数第二个位置的队员即可.(6)依次类推, 就可以将数据排序完成2.复杂度 比较次数:O(N^2) 交换次数:O(N^2)3.代码实现function ArrayList(){this.array = []ArrayList.pro...
var nums = [];//定义一个空数组for(var i=0;i<5;i++){//要用户输入五个数字,就循环5次nums[i] = parseInt(prompt(‘请输入数字‘));//使用for循环,prompt提示的方法提示用户输入数字 }console.log(‘用户输入的是:‘);console.log(nums);//打印出用户输入的全部数字for(var i=0;i<nums.length-1;i++){ for(var j=0;j<nums.length-1-i;j++){if(nums[j]>nums[j+1]){//索引为0的数字和索引为1的数字相比,以此类推 如果排序为...
冒泡算法是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。function BubbleSort($array){if (empty($array) || !is_array($array))return false;$len = count($array)-1;for($i = $len; $i > 0; $i-- ){for...
<?<span php<span //<span php函数:count($arr)返回array的数值总数. <span function bubble_sort(<span $arr<span ){<span for (<span $i = 6;<span $i > 0;<span $i --<span ){<span for (<span $j = 0;<span $j < <span $i; <span $j ++<span ){<span if (<span $arr[<span $j] < <span $arr[<span $j + 1<span ]){<span $tem = <span $arr[<span $j<span ];<span $arr[<span $j] = <span $arr[<span $j + 1<span ];<span $arr...
PHP冒泡算法详解(递归实现),冒泡递归
实现代码如下:
/*冒泡算法(递归实现)
*/
function maoPao($array, $index=0)
{$count = count($array);if(($count-1) <= $index)return $array;for($i=$count-1; $i>$index; $i-- ){if($array[$i] < $array[$i-1]){$tmp = $array[$i];$array[$i] = $array[$i-1];$array[$i-1] = $tmp;}}$index++;return maoPao($array, $index);//return maoPao($array, $index++);
}$arr = array(12,4,3,1,...
冒泡算法和快速算法怎样写(用数组)?????? 回复讨论(解决方案) 看数据结构去. 为什么不自己主动去找答案 而是在这里等着别人给你回答?随便百度下‘php排序算法大全’,能找到大堆的代码看 好吧,我错了 function insert_sort($arr){ $count = count($arr); for($i=1; $i<$count; $i++){ $tmp = $arr[$i]; $j = $i - 1; while($arr[$j] > $tmp){ $arr[$j+1] = $arr[$j]; ...