首页 > 其他分享 >冒泡排序

冒泡排序

时间:2023-05-22 16:48:40浏览次数:61  
标签:结果 data list 冒泡排序 排序 bubble

【三】冒泡排序

  • 基本思想:
    • 两个数比较大小,较大的数下沉,较小的数冒起来。
  • 过程:
    • 比较相邻的两个数据,如果第二个数小,就交换位置。 从后向前两两比较,一直到比较最前两个数据。
    • 最终最小数被交换到起始的位置,这样第一个最小数的位置就排好了。 继续重复上述过程,依次将第2.3...n-1个最小数排好位置。
def bubble_sort(data):
    for i in range(len(data)):
        print(f'这是后{i}趟')
        for j in range(len(data) - 1 - i):
            if data[j] > data[j + 1]:
                data[j], data[j + 1] = data[j + 1], data[j]
        print('差的排序结果为:>>>', data)


start_list = [3, 9, 3, 1, 7, 7]
bubble_sort(start_list)

# 这是后0趟
# 差的排序结果为:>>> [3, 3, 1, 7, 7, 9]
# 这是后1趟
# 差的排序结果为:>>> [3, 1, 3, 7, 7, 9]
# 这是后2趟
# 差的排序结果为:>>> [1, 3, 3, 7, 7, 9]
# 这是后3趟
# 差的排序结果为:>>> [1, 3, 3, 7, 7, 9]
# 这是后4趟
# 差的排序结果为:>>> [1, 3, 3, 7, 7, 9]
# 这是后5趟
# 差的排序结果为:>>> [1, 3, 3, 7, 7, 9]

标签:结果,data,list,冒泡排序,排序,bubble
From: https://www.cnblogs.com/dream-ze/p/17421002.html

相关文章

  • python中对列表元素大小排序(冒泡排序法,选择排序法和插入排序法)—排序算法
    前言排序(Sorting)是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。本文主要讲述python中经常用的三种排序算法,选择排序法,冒泡排序法和插入排序法及其区别。通过对列表里的元素大小排序进行阐述。一、选择排序法选择......
  • 冒泡排序
    1.问题描述对N个整数进行升序排列2.问题分析冒泡法应该是最基础最简单的了。共有N个数,我们可以利用数组进行储存。冒泡排序的思想就是从表头开始往后扫面数组,过程中比较相邻两个元素的大小,若前面元素大于后面的元素,则将他们互换,称之为消去了一个逆序。在扫描过程中,不断地将两相......
  • 冒泡排序2
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intmain(void){ intarr[5];//加上'\0'后由数组变成字符串 inti,j,temp; printf("请输入五个数字:\n"); for(j=0;j<5;j++) { scanf("%d",&arr[j]); } for(i=0;i&......
  • 通过冒泡排序,实现通过值拿key
    '''实现冒泡排序后,输出关联字典的key通过值得列表,排序后,拿到字典的key,在透过key,可以关联另一个列表适用场景,比如投票后,要通过数据拿到前三名的名字'''a={'a':1,'b':2,'c':3,'d':4}s=[1,3,2,1]ss=[]list_k=[]foriinrange(len(s)):print('iiiiiiiiii......
  • 冒泡排序
    importjava.util.Arrays;/***@Auther:么么*@Date:2023/5/8-05-08-22:16*@Description:PACKAGE_NAME*@version:1.0*///冒泡排序publicclasstest02{//这是一个main方法,是程序的入口:publicstaticvoidmain(String[]args){......
  • 冒泡排序
    目录汇编实现及推导过程高级语言实现纸上得来终觉浅,绝知此事要躬行汇编实现及推导过程;程序名称:;功能:冒泡排序,方法5:不用两两比较,第一位数和其余数比较,小就交换;=======================================assumecs:code,ds:data;排序;手推算法;;外层循环条件si=0;......
  • 冒泡排序
    voidbubble_sort(intarr[],intsz)//这里的arr[]传递的是首地址{ inti=0;for(i=0;i<sz-1;i++)//一共进行多少趟 {intj=0;for(j=0;j<sz-1-i;j++)//每一趟进行多少次冒泡排序 { if(arr[j]>arr[j+1])//如果判定条件成立将上一个数值赋值给下一个数值{ int......
  • 一篇文章讲明白冒泡排序
    原文点此跳转什么是冒泡排序(bubbleSort)?冒泡排序是所有排序算法中最简单的一种,当然也是性能最差的一种。冒泡排序的思想其实很简单,就如它的名字一样在水中"冒泡"。水中有很多散乱的小气泡,然后一个个气泡往水面上冒出。例如一组无序的数组,最左边就是水底,最右边就是水面,最左边的元素......
  • 手把手教你掌握冒泡排序思路
    完整代码:#include<stdio.h>bubble_sort(intarr[],intsz){inti=0;intj=0;for(i=0;i<sz-1;i++){for(j=0;j<sz-1-i;j++){if(arr[j]>arr[j+1]){inttmp=arr[j];arr[j]=arr[j+1];arr[j+1]=tmp;}}}}intmain(){intarr[10]=......
  • 8冒泡排序
    #include<iostream>usingnamespacestd;#defineN10intmain(){ intarr[N],a,k,i,j,count; cin>>a; for(i=0;i<a;i++){ cin>>arr[i]; } for(i=0;i<a;i++){ for(j=i+1;j<a;j++){ k=arr[j]; if(k<arr[i]){ arr[j]=arr[i]; arr[i]=......