数据结构-冒泡排序(Python&java实现)

1. 冒泡算法的核心思想
冒泡排序的核心思想就是扫描数据清单,找到乱序的两个相邻的数据进行两两比较并交换位置,然后继续扫描数据,接着反复重复上述的操作直至排序结束。
2. 示例
我们以23,15,58,-4,99,0这组无序的数字为例:例子为从小到大排序,
初始状态:23,15,58, -4,99,0
第一次排序结果:15,23,-4,58,0,99
第二次排序结果:15,-4,23,0,58,99
第三次排序结果:-4,15,0,23,58,99
第四次排序结果:-4,0,15,23,58,99
第五次排序结果:-4,0,15,23,58,99
排序完毕,输出最终结果:-4,0,15,23,58,99
3.实验代码
python实现

python测试结果:

java代码和测试结果

原文地址:http://blog.51cto.com/13620954/2095862

时间: 2024-10-09 20:26:17

数据结构-冒泡排序(Python&java实现)的相关文章

python算法与数据结构-冒泡排序(32)

一.冒泡排序介绍 冒泡排序(英语:Bubble Sort)是一种简单的排序算法.它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端. 二.冒泡排序原理 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对.这一步做完,最后的元素应该会是最大的数. 针对所有的元素重复以

十大经典排序算法(Python,Java实现)

参照:https://www.cnblogs.com/wuxinyan/p/8615127.html https://www.cnblogs.com/onepixel/articles/7674659.html 一.排序算法分类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序. 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排 二.算法复杂度 注(

数据结构排序算法Java实现

闲的无聊又拿起了大学的数据结构的书看起来 <数据结构(c语言版)>严蔚敏 吴伟民编著. 里面有几个排序算法,感觉挺好玩的,就想着写出来玩玩. package test.sort; /** * @Title: TODO * @Description: TODO * @author: * @date: 2014-8-10 上午11:20:43 * */ public class quickSort { private static int datas[] = {23,42,12,45,56,63,

冒泡排序-Python与PHP实现版

Python实现 import random a=[random.randint(1,999) for x in range(0,33)] # 冒泡排序,python中数组是按引用传递的,会直接在原数组上修改 def bubbleSort(array): flag = True i=0 while i<len(array) and flag: j=len(array)-1 while j>i: if array[j-1] > array[j]: array[j-1],array[j] =

选择排序、插入排序、冒泡排序python实现

选择排序的时间复杂度为O(n^2),是不稳定的排序 冒泡排序的时间复杂度最好情况下为O(n),最坏情况下为O(n^2),平均情况下为O(n^2),是稳定的排序 插入排序的时间复杂度最好情况下为O(n),最坏情况下为O(n^2),,平均情况下为O(n^2),是稳定的排序 1.选择排序 def selection(lista): leng=len(lista); for i in range(0,leng): index=i; min=lista[i]; for j in range(i,leng)

数据结构-冒泡排序

#include <iostream> using namespace std; void BubbleSort(int* a,int n){ for(size_t i=0;i<n;i++){ for(size_t j=0;j<n-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[] = {1,5,8,9,6,4,7,2,3,0}

数据结构与问题求解-Java语言描述(第三版)

数据结构对程序的重要性不言而喻,用java语言来实现常见的一些数据结构,以及在相应数据结构上的操作对学习java的同学来说是必须掌握的. 本系列博文参考<数据结构与问题求解-Java语言描述(第三版)>来实现 在自己学习的过程中,更希望有机会与大家交流. PS :本人是菜鸟,只是用博客的方式激励自己.请轻喷.Fighting!

冒泡排序——Python实现

冒泡排序Python实现 # -*- coding: utf-8 -*- # @Time : 2019/10/28 19:41 # @Author : yuzhou_1shu # @Email : [email protected] # @File : bubble_sort.py # @Software: PyCharm def bubble_sort(collection): # 求序列的长度 length = len(collection) # 从序列中第一个元素开始以此跟后一个比较 fo

Python编程电子资料《流畅的Python》+《图解数据结构使用Python》+《Python可以这样学》

现在无人不谈“大数据技术”和“人工智能技术”,而商业智能和机器学习等应用的具体开发中又大量使用Python程序设计语言,用Python语言来描述算法和讲述数据结构就成为顺其自然的事情了. “数据结构”毫无疑问是计算机科学既经典又核心的课程之一,只要从事计算机相关的开发工作,系统地学习数据结构是进入这个行业的“开山斧”. <图解数据结构使用Python>电子资料包含电子书和源代码,采用丰富的图例来阐述基本概念,并以简洁清晰的语言来诠释重要的理论和算法,同时配合完整的范例程序代码,可以通过“实例+