排序算法02--冒泡排序

思路:冒泡排序 就是把大的數一個個沉到下面,當然也可以是把小的數一個個浮到上面。

   在最外層需要比較n-1次,因為n-1個大的數被沉到了下面,剩下一個自然就是最小的數了。

   在這n-1次的里層,還需要亮亮相互比較,這次比較的次數是 n-1-i次,這也比較好理解,每當一輪最大的數沉到下面,之后它就不需要再拿出來比較了,自然比較的次數就需要再 -i。 ?在里層循環要做的也很簡單,兩兩比較,然后如果前面的比后面一個大,交換位置,否則不做操作。

   如果想把小的一個個浮到上面,思路一致,代碼如下:

    可以將以上代碼優化一下,降低它的時間復雜度。

    無非就是在里層循環之前加一個標識符,一開始賦值0,在里層判斷里對標識符進行加操作。這樣如果在某一次進行里層循環時,標識符的值沒有變,就說明,兩兩比較的結果是正確的,不需要調換位置,即已經排序好,所以沒必要繼續循環下去,即時退出即可。

轉載于:https://www.cnblogs.com/xinjydeshow/p/5851979.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256405.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256405.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256405.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

機器學習——人工神經網絡之參數設置(BP算法)

目錄 一、復習(BP算法) 二、訓練模型的建議 三、參數設置內容 1、隨機梯度下降(SGD)

關于▲的各種交點

對于△ABC證明: ①三角形的三條中線交于一點: 等腰三角形:作中線BD、CE與AC、AB交于D、E,相交于O,連接AO并延長交BC于F; 證△ABD全等于△ACE,再證△EBO全等于△D…

javaScript獲取url中的參數

var urlTools {//獲取RUL參數值getUrlParam: function(name) { /*?videoIdidentification */var params decodeURI(window.location.search); /* 截取?號后面的部分 index.html?actdoctor,截取后的字符串就是?actdoctor */var reg …

機器學習——支持向量機SVMpython實現

一、SVM理論 可見以下文章: 《機器學習——支持向量機SVM之線性模型》 《機器學習——支持向量機SVM之非線性模型低維到高維映射》 《機器學習——支持向量機SVM之非線性模型原問題與對偶問題》 《機器學習——支持向量機SVM之非線性模型原問題轉化為對偶問題》…

瑣碎易錯點

1.font-size 設置的是字體的高 2.瀏覽器內核: 主流瀏覽器   內核 IE       trident Firfox     Gecko Chorme    Webkit(原來)/blink(現在) Safari     Webkit(蘋果公司獨立研發的&a…

Python安裝Jupyter Notebook配置使用教程

原文見:https://blog.csdn.net/qq_27825451/article/details/84427269 一、什么是jupyter 1、簡介: jupyter notebook是一種 Web 應用,能讓用戶將說明文本、數學方程、代碼和可視化內容全部組合到一個易于共享的文檔中。它可以直接在代碼旁…

ExtJS4.2學習(10)分組表格控件--GroupingGrid(轉)

鳴謝網址:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-11-17/179.html --------------------------------------------------------------------------------------------- 分組表格控件在我們的開發中經常被用到,GroupingGrid…

九個Console命令,讓js調試更簡單

一、顯示信息的命令 1: <!DOCTYPE html>2: <html>3: <head>4: <title>常用console命令</title>5: <meta http-equiv"Content-Type" content"text/html; charsetutf-8" />6: </head>7: <body>8: …

numpy——axis

size()和max()中的含義 以前我理解axis0代表行&#xff0c;axis1代表列&#xff1b; 但是這種含義在函數size()和max()中恰恰相反&#xff1b; 其實不是這樣的&#xff0c;我們回到單詞axis本身&#xff0c;它的意思是“軸”&#xff0c;沒錯軸就是代表一個方向&#xff0c;像…

Android ListView幾個重要屬性

1、transciptMode屬性&#xff0c;需要用ListView或者其它顯示大量Items的控件實時跟蹤或者查看信息&#xff0c;并且希望最新的條目可以自動滾動到可視范圍內。通過設置的控件transcriptMode屬性可以將Android平臺的控件&#xff08;支持ScrollBar&#xff09;自動滑動到最底部…

Halcon例程(基于GMM模型的分類)詳解 —— classify_citrus_fruits.hdev

一、例程簡介 該例程比較有代表性&#xff0c;屬于Halcon里的分類方法之一&#xff0c;直接調用Halcon封裝好的GMM分類器&#xff08;高斯混合模型&#xff09;對橘子和檸檬進行分類。GMM屬于概率分類方法&#xff0c;屬于P(Y|X)&#xff0c;通過對樣本的概率密度分布進行估計…

正則表達式匹配不包含特定字符串解決匹配溢出問題

匹配溢出問題在正則表達式當中算是比較常見的問題&#xff0c;它常常導致我們匹配結果莫名其妙的出錯&#xff0c;本文專門為你講解如何通過匹配不包含特定字符串的方法來解決這類問題。 那么&#xff0c;什么是匹配溢出呢&#xff1f; 下面我們來看個例子&#xff1a; 源文本&…

numpy——mgrid

x1,x2 np.mgrid(x1min:x1max:num1j,x2min:x2max:num2j)x1返回的是x1min到x1max間均勻分成num1個數&#xff0c;進行橫向擴展為方陣 x2返回的是x2min到x2max間均勻分成num2個數&#xff0c;進行縱向擴展為方陣 Examples -------- >>> np.mgrid[0:5,0:5] array([[[0,…

Halcon例程(基于3D形狀匹配識別方法)詳解 —— create_shape_model_3d_lowest_model_level.hdev

一、例程簡介 最近在研究3D識別方面的東西&#xff0c;查了不少資料&#xff0c;發現halcon里有不少關于三維物體識別的例程&#xff0c;這里對其中一個做出詳解。該例程是基于三維匹配方法的&#xff0c;因為有三維模型SM3&#xff0c;所以不需要自己創建&#xff1b;另因為例…

15.瀑布流、測量

排行界面TopProtocol &#xff1a;json數據就是寫字符串&#xff0c;所以不需要寫bean對象public class TopProtocol extends BaseProtocol<List<String>> { Override public List<String> paserJson(String json) { List<String> datasnew ArrayList&…

linear-gradient線性漸變

background:linear-gradient(180deg, sliver 20%, skyblue 80%, gray 100%);180deg 是線性漸變的角度,水平方向;如果是90deg,則是垂直方向. silver 20% 是最上面的顏色和該顏色所在的位置,可以為負值,,如 linear-gradient(180deg, silver -7%, pink 80%, skyblue 127%);的效果是…

numpy——stack

np.stack(array,axis,outNone)&#xff0c;函數原型。 其中最重要是的這個axis怎么理解的。 舉例說明&#xff1a;arrays [np.random.randn(3, 4) for _ in range(10)] 會生成一個 10 *( 3 * 4 )的矩陣列表。十個矩陣&#xff0c;每個矩陣是(3 * 4)大小。 首先說明一下axis的映…

C# —— 簡單工廠設計模式詳述

一、基本概念 眾所周知&#xff0c;C#是一種面向對象的語言&#xff0c;而其中封裝&#xff0c;繼承&#xff0c;多態是面向對象的三大重要特征&#xff0c;簡單工廠的設計模式則可以完全體現這些特征。要徹底理解這個模式&#xff0c;必須要先將封裝&#xff08;訪問修飾符的…

【計算機視覺】計算機視覺、模式識別、機器學習常用牛人主頁鏈接

計算機視覺、模式識別、機器學習常用牛人主頁鏈接 牛人主頁&#xff08;主頁有很多論文代碼&#xff09; Serge Belongie at UC San DiegoAntonio Torralba at MITAlexei Ffros at CMUCe Liu at Microsoft Research New EnglandVittorio Ferrari at Univ.of EdinburghKristen G…

C# 中的 ConfigurationManager類引用方法

c#添加了Configuration;后&#xff0c;竟然找不到 ConfigurationManager 這個類&#xff0c;后來才發現&#xff1a;雖然引用了using System.Configuration;這個包&#xff0c;但是還是不行的。 后來終于找到一個解決方法&#xff0c;就是在解決方案資源管理器里找到類文件選擇…