冒泡排序算法

以下是为您整理出来关于【冒泡排序算法】合集内容,如果觉得还不错,请帮忙转发推荐。

【冒泡排序算法】技术教程文章

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

冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。冒泡排序的Java实现: 1 package com.mianshi.easy;2 public class Bubble {3 4 public static void main(Stri...

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],然后每一次扫描得到的新列表如下:  第一次...

冒泡排序算法和选择排序算法【代码】【图】

这是最基本的两种排序算法,比它效率高的还有归并排序,堆排序,快速排序等算法,作为一个IT民工应该好好掌握。 冒泡排序和选择排序都有两层循环,下面逐一介绍: 冒泡排序: 1.外层循环,控制冒泡次数,起始从loop=1开始,结束标识是loop<length,循环length-1次(从数组的第二个数开始冒泡)。 2.内层循环,选出对应轮的最大数,即第K轮冒泡选出的是第N-k-1大的数,故循环从loop=0开始,结束标志loop<N-k,循环N-k次...

冒泡排序(算法源码)

算法源码://BubbleSort.cpp#include <iostream>using namespace std;void BubbleSort(int a[], int n){ for(int i=n-1;i>0;i--) {for(int j=0;j<i;j++) { if (a[j]>a[j+1]) { int tmp = a[j]; a[j] = a[j+1]; a[j+1] = tmp; } } }}int main(){ int a[]={4,3,6,9,7,5,1,10,2,15,8,7,6}; BubbleSort(a,sizeof(a)/sizeof(a[0])); cout<<"after bubble sort."<<endl; for (int i=0;i<sizeof(a)/sizeof(a[0]);...

冒泡排序算法

冒泡排序(从小到大排):以从小到大排序为例,每一轮排序就找出未排序序列中最大值放在最后。设数组的长度为N: (1)比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。(2)这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。(3)N=N-1,如果N不为0就重复前面二步,否则排序完成。/** * 冒泡排序的第一种实现, 没有任何优化 */ public static void bubbleSo...

【C语言】两种方式实现冒泡排序算法【代码】

题目要求编写一个C语言程序,实现基本的冒泡排序算法.算法冒泡排序,用一句话来总结:一组数中,相邻的两个数进行比较、交换,将最大(小)数交换至尾(首)部,即完成了一次冒泡排序要想对N个数字进行排序,循环N次即可.如果真的不理解冒泡排序算法,请点击:冒泡排序_360百科核心代码//方式一:从头向尾遍历,将最大数(相对)沉入尾部(相对) void BubbleSort1(int *arr,int sz){int i = 0;int j = 0;assert(arr);for(i=0;i<sz-1;i++){for(j=0;j<s...

冒泡排序算法【代码】

冒泡排序算法的时间复杂度是什么?时间复杂度是O(n^2)。 1 #include "stdafx.h" 2 #include <iostream>3usingnamespace std;4void Swap(int &a, int &b)5{6int temp = a;7 a = b;8 b = temp;9} 1011void Bubble1(int *array, int length) 12{ 13for (int i=length-1;i>0;--i) //首先是要比较多少趟,每一趟冒泡可以确定一个值。最后一趟只剩一个就不用比较了(所以是i>0而不是i>=0)。14 { 15for (int j=0;j<i;++j) 16 ...

详解冒泡排序算法【代码】【图】

基本思想冒泡排序的基本思想是: 通过对待排序的序列从前向后依次比较相邻元素的值,如果发现逆序则交换。 逆序的含义:如果想把序列从小到大排序,那么两个数中前面的比后面的大就是逆序。 若需求是将序列从小到大排序,那么每一趟比较都会把值较大的逐渐从前面移动到后面。 就像水底的泡泡一样: (如下图,图片来源于网络)例子给定一个数组如下: [ 5 , 8 , -2 , 20 -6 ] 定义两个变量 i 和 j,初始状态 i 存第一个元素的索引,...

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

1、变量互换a = 123 b = 456temp = a a = b b = temp python比较简单的变量互换:a = 123 b = 456 a,b = b,a print(a,b) 2、将列表中最大的值放置到最后#!usr/bin/env python # -*- coding:utf-8 -*- li = [11,44,33,66,22] for i in range(len(li)-1):if li[i] > li[i+1]:temp = li[i]li[i] = li[i+1]li[i+1] = tempprint(li) 3、循环嵌套冒泡排序法#!usr/bin/env python # -*- coding:utf-8 -*- li = [11,44,33,66,77,99,44] fo...

算法 - 冒泡排序算法及优化【图】

在面试过程中,经常会涉及到一些算法问题,下面说介绍一下冒泡排序算法及优化.冒泡排序分为从大到小和从小到大两种排序方式,唯一区别在于两个数交换的条件不同,从大到小排序是前面的数比后面的小时交换,而从小到大排序是前面的数比后面的数大的时候交换. 假设有N个数据放在数组nums中,现将数组nums中的N个数据从小到大进行排序假设使用冒泡排序算法对5个整数{8,3,-2,7,6}进行从小到大的排序冒泡排序的基本思想:在a[0] 到a[n-1]的...