排序——冒泡排序

請添加圖片描述

冒泡排序的基本思想

從前往后(或從后往前)兩兩比較相鄰元素的值,若為逆序(即 A [ i ? 1 ] < A [ i ] A\left [ i-1\right ]<A\left [ i\right ] A[i?1]<A[i]),則交換它們,直到序列比較完。

算法代碼

#include <iostream>
using namespace std;//冒泡排序算法 
void BubbleSort(int nums[],int n){int i,j,temp;for(i=0;i<n;i++){for(j=0;j<n-i-1;j++){		//一趟冒泡 if(nums[j]>nums[j+1]){	//逆序 temp=nums[j];		//交換 nums[j]=nums[j+1];nums[j+1]=temp;	}	}}
} //打印數組 
void printNum(int numbers[],int n){for(int i=0;i<n;i++){cout<<numbers[i]<<" ";}
}int main()
{int numbers[10]={3,44,38,5,47,15,36,26,27,2};int n=sizeof(numbers)/sizeof(numbers[0]);	//數組長度 BubbleSort(numbers,n);		//調用 BubbleSort 函數進行插入排序 printNum(numbers,n);		//打印數組 return 0;
}

算法性能分析

  • 空間復雜度: O ( 1 ) O(1) O(1)

  • 時間復雜度: O ( n 2 ) O(n^2) O(n2)

  • 算法穩定性1:穩定


  1. 算法的穩定性:若待排序表中有兩個元素 R i R_i Ri? R j R_j Rj?,其對應的關鍵字相同即 k e y i = k e y j key_i = key_j keyi?=keyj?,且在排序前 R i R_i Ri? R j R_j Rj? 的前面,若使用某一排序算法排序后, R i R_i Ri? 仍在 R j R_j Rj? 的前面,則稱這個排序算法是穩定的,否則稱排序算法是不穩定的。 ??

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

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

相關文章

MySQL慢查詢分析

1. 什么是慢查詢&#xff1f; 在MySQL中&#xff0c;慢查詢定義為執行時間超過特定閾值的查詢。這個閾值可以通過MySQL的配置選項long_query_time來設置。默認情況下&#xff0c;long_query_time的值是10秒&#xff0c;意味著任何執行時間超過10秒的查詢都會被認為是慢查詢。然…

標準PoE交換機、非標準PoE交換機和非PoE交換機三者到底有何區別?

目錄 前言&#xff1a; 一、標準PoE交換機 1.1 工作原理 1.2 應用場景 1、視頻監控 2、無線接入點 3、IP電話 1.3 優勢 1、簡化布線 2、簡化安裝 3、提高可靠性 二、非標準PoE交換機 2.1 工作原理 2.2 應用場景 1、無線路由器 2、IP電話 3、數據中心 2.3 優勢…

c++面試三 -- 智能指針--7000字

一、智能指針 C 中的智能指針是一種用于管理動態分配的內存的對象&#xff0c;它們可以自動進行內存管理&#xff0c;避免內存泄漏和懸掛指針等問題。 1. 懸掛指針 懸掛指針&#xff08;dangling pointer&#xff09;是指在程序中仍然存在但已經不再指向有效內存地址的指針。懸…

IO多路復用 poll模型

poll 是一種在 Linux 系統中進行 I/O 多路復用的模型&#xff0c;它與 select 類似&#xff0c;但具有一些不同之處。poll 允許監視的文件描述符數量不受限制&#xff0c;而不像 select 有一定的限制。 基本概念&#xff1a; poll 函數&#xff1a; 通過 poll 函數&#xff0c…

隊列的結構概念和實現

文章目錄 一、隊列的結構和概念二、隊列的實現三、隊列的實現函數四、隊列的思維導圖 一、隊列的結構和概念 什么是隊列&#xff1f; 隊列就是只允許在一端進行插入數據操作&#xff0c;在另一端進行刪除數據操作的特殊線性表&#xff0c;隊列具有先進先出 如上圖所示&#x…

【比較mybatis、lazy、sqltoy、mybatis-flex操作數據】操作批量新增、分頁查詢(二)

orm框架使用性能比較 環境&#xff1a; idea jdk17 spring boot 3.0.7 mysql 8.0比較mybatis、lazy、sqltoy、mybatis-flex操作數據 測試條件常規對象 orm 框架是否支持xml是否支持 Lambda對比版本mybatis????3.5.4sqltoy????5.2.98lazy????1.2.4-JDK17-SNAPS…

自定義 Python 程序參數解析

需要通過Python程序運行其它應用程序&#xff0c;程序格式為&#xff1a; 我的程序 <我的程序參數> 應用程序 <應用程序參數> 由于應用程序不固定&#xff0c;應用程序的參數也不固定&#xff0c;我的程序不需要對應用程序參數進行解析&#xff0c;僅需要解析自己的…

Vue+SpringBoot打造天然氣工程運維系統

目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 系統角色分類2.2 核心功能2.2.1 流程 12.2.2 流程 22.3 各角色功能2.3.1 系統管理員功能2.3.2 用戶服務部功能2.3.3 分公司&#xff08;施工單位&#xff09;功能2.3.3.1 技術員角色功能2.3.3.2 材料員角色功能 2.3.4 安…

快速冪-計算a的b次對m取余

題目 題解參考 a a ? a a a*a aa?a這部分是計算 a 2 i a^{2^i} a2i&#xff0c; a b Π i 0 t a n i 2 i Π i 0 t ( a 2 i ) n i a^b \Pi_{i0}^{t}a^{n_i 2^i} \Pi_{i0}^{t}(a^{2^i})^{n_i} abΠi0t?ani?2iΠi0t?(a2i)ni? ,代碼中的b&1是計算 n i n_i ni?…

Zabbix企業運維監控工具

Zabbix企業級監控方案 常見監控軟件介紹 Cacti Cacti是一套基于 PHP、MySQL、SNMP 及 RRD Tool 開發的監測圖形分析工具&#xff0c;Cacti 是使用輪詢的方式由主服務器向設備發送數據請求來獲取設備上狀態數據信息的,如果設備不斷增多,這個輪詢的過程就非常的耗時&#xff0…

sql注入less46作業三

采用報錯注入 updatexml(XML_document,XPath_string,new_value) 一共可以接收三個參數&#xff0c;報錯位置在第二個參數。 ?sort1 and updatexml(1,concat(0x7e,database(),0x7e),1)-- #查詢庫名 ?sort1 and updatexml(1,concat(0x7e,(select group_concat(table_name) fr…

[每周一更]-(第89期):開源許可證介紹

開源代碼本就是一種共享精神&#xff0c;一種大無畏行為&#xff0c;為了發揚代碼的魅力&#xff0c;創造更多的價值&#xff0c;讓愛傳遞四方&#xff0c;讓知識惠及更多人&#xff1b; 寫文章也是一種共享精神&#xff0c;讓知識傳播出去。 介紹下開源中不同許可證的內容限…

初學Vue總結

0 Vue概述 問題&#xff1a;我們已經學過了htmlCssjavascript,可以開發前端頁面了&#xff0c;但會發現&#xff0c;效率太低了。那么&#xff0c;有沒有什么工具可以提高我們的開發效率&#xff0c;加快開發速度呢&#xff1f; 他來了&#xff0c;他來了&#xff0c;他大佬似…

Spring注解之json 數據處理

目錄 1. 過濾 json 數據 2. 格式化 json 數據 3. 扁平化對象 1. 過濾 json 數據 JsonIgnoreProperties 作用在類上用于過濾掉特定字段不返回或者不解析。 //生成json時將userRoles屬性過濾 JsonIgnoreProperties({"userRoles"}) public class User { ?private S…

大宋咨詢如何進行汽車門店6S標準現場檢查

隨著汽車市場的快速發展&#xff0c;汽車門店的現場管理日益受到關注。6S標準現場檢查作為一項重要的評估工具&#xff0c;正在被越來越多的汽車廠商和經銷商采用。 6S標準現場檢查是指對汽車門店的整理、整頓、清潔、清掃、素養和安全六個方面進行規范和優化&#xff0c;旨在…

js中replaceAll在瀏覽器不兼容問題

前端項目有時候會出現瀏覽器使用replaceAll方法報錯問題&#xff0c;原因是一些舊版瀏覽器對replaceAll不是很兼容 解決辦法有三種&#xff1a; 1、str.replace(/word/g,“Excel”); g 的意義是&#xff1a;執行全局匹配&#xff08;查找所有匹配而非在找到第一個匹配后停止&am…

[AIGC] Java注解的生效時機詳解

在Java中&#xff0c;Annotation&#xff08;注解&#xff09;是一種用于描述代碼的元數據。它們可以為我們的代碼提供額外的信息&#xff0c;這些信息可以在編譯時或運行時被讀取。而注解的生效時機&#xff0c;主要由Java的Retention注解來控制。 一、注解的生效時機 Java中…

-XX:MaxTenuringThreshold

-XX:MaxTenuringThreshold&#xff0c;XX:PrintTenuringDistribution 虛擬機提供一個年齡&#xff0c;默認是15&#xff0c;對象超過這個年齡范圍就會晉升到老年代 【XX:PrintTenuringDistribution 可以輸出age的額外信息】 -XX:MaxTenuringThreshold -> https://www.jians…

線性規劃在多種問題形式下的應用

線性規劃的用處非常的廣泛&#xff0c;這主要是因為很多類型的問題是可以通過轉化的方式轉化為線性規劃的問題。例如需要再圖論中尋找起始點到給定的點的最短路徑問題&#xff1a; 添加圖片注釋&#xff0c;不超過 140 字&#xff08;可選&#xff09; 假設要計算從節點0到節點…

springboot配置多數據源以及事務問題

一、背景以及為什么需要學習 在高并發的項目中,單數據庫已無法承載大數據量的訪問,因此需要使用多個數據庫進行對數據的讀寫分離,此外就是在微服化的今天,我們在項目中可能采用各種不同存儲,因此也需要連接不同的數據庫,居于這樣的背景,這里簡單分享實現的思路以及實現…