比較排序之冒泡排序的實(shí)現(xiàn)
冒泡排序可以說(shuō)是在排序算法中最為入門(mén)級(jí)別的算法之一了。因?yàn)槠浜?jiǎn)單易于理解,常在課堂中作為排序的入門(mén)算法。
冒泡排序見(jiàn)名生意,其排序過(guò)程如同水里的泡一般由下往上逐級(jí)遞升。下圖所示為冒泡排序過(guò)程:假設(shè)待排序序列為{10, 2, 11, 8, 7}。
Java
package com.algorithm.sort.bubble; import java.util.Arrays; /** * 冒泡排序 * Created by yulinfeng on 6/19/17. */ public class Bubble { public static void main(String[] args) { int[] nums = {10, 2, 11, 8, 7}; nums = bubbleSort(nums); System.out.println(Arrays.toString(nums)); } /** * 冒泡排序 * @param nums 待排序數(shù)字序列 * @return 排好序的數(shù)字序列 */ private static int[] bubbleSort(int[] nums) { for (int i = 0; i < nums.length; i++) { for (int j = 0; j < nums.length - i - 1; j++) { if (nums[j] > nums[j + 1]) { int temp = nums[j]; nums[j] = nums[j + 1]; nums[j + 1] = temp; } } } return nums; } }
Python3
#冒泡排序 def bubble_sort(nums): for i in range(len(nums)): for j in range(len(nums) - i - 1): if nums[j] > nums[j + 1]: temp = nums[j] nums[j] = nums[j + 1] nums[j + 1] = temp return nums nums = [10, 2, 11, 8, 7] nums = bubble_sort(nums) print(nums)
以上這篇比較排序之冒泡排序的實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)簡(jiǎn)易版猜燈謎游戲的示例代碼
燈謎是中秋節(jié)傳統(tǒng)的活動(dòng)之一,而現(xiàn)代化的方式則是將其制作成一個(gè)小游戲,讓用戶在游戲的過(guò)程中猜燈謎,互動(dòng)體驗(yàn)更佳,所以本文小編就用Java制作一款猜燈謎小游戲吧2023-09-09SpringBoot在IDEA中實(shí)現(xiàn)熱部署(JRebel實(shí)用版)
這篇文章主要介紹了SpringBoot在IDEA中實(shí)現(xiàn)熱部署(JRebel實(shí)用版),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05Java線程使用同步鎖交替執(zhí)行打印奇數(shù)偶數(shù)的方法
這篇文章主要介紹了Java線程使用同步鎖交替執(zhí)行打印奇數(shù)偶數(shù)的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01詳解Spring Boot Mysql 版本驅(qū)動(dòng)連接池方案選擇
這篇文章主要介紹了詳解Spring Boot Mysql 版本驅(qū)動(dòng)連接池方案選擇,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Java設(shè)計(jì)模式之靜態(tài)工廠模式詳解
這篇文章主要介紹了Java設(shè)計(jì)模式之靜態(tài)工廠模式,簡(jiǎn)單說(shuō)明了靜態(tài)工廠模式的概念、原理、實(shí)現(xiàn)與使用方法,需要的朋友可以參考下2017-09-09java數(shù)據(jù)結(jié)構(gòu)基礎(chǔ):算法
這篇文章主要介紹了Java的數(shù)據(jù)解構(gòu)基礎(chǔ),希望對(duì)廣大的程序愛(ài)好者有所幫助,同時(shí)祝大家有一個(gè)好成績(jī),需要的朋友可以參考下,希望能給你帶來(lái)幫助2021-07-07詳解Java對(duì)象創(chuàng)建的過(guò)程及內(nèi)存布局
今天給大家?guī)?lái)的文章是Java對(duì)象創(chuàng)建的過(guò)程及內(nèi)存布局,文中有非常詳細(xì)的圖文示例及介紹,需要的朋友可以參考下2021-06-06hutool實(shí)戰(zhàn):IoUtil 流操作工具類(將內(nèi)容寫(xiě)到流中)
這篇文章主要介紹了Go語(yǔ)言的io.ioutil標(biāo)準(zhǔn)庫(kù)使用,是Golang入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下,如果能給你帶來(lái)幫助,請(qǐng)多多關(guān)注腳本之家的其他內(nèi)容2021-06-06