嵌入式C語言之鏈表冒泡排序

鏈表冒泡排序一是可以交換指針域的值,二是可以交換指針

typedef struct st_node{

int score;

struce st_node *next;

}Node,*LinkList;

LinkList createList(){

Node *head = (Node *)malloc(sizeof(Node));

if(NULL == head){

printf("內存分配失敗!"):

return NULL;

}

head->next = NULL;

return head;

}

void sortLinklist(Linklist linklist){

// 默認當前這個鏈表有頭節點

// 要接著排序的鏈表

Linklist sorted = linklist->next;

// 將原來那個鏈表變為空表,用來存放排序后的鏈表

linklist->next = NULL;

while(sorted != NULL){

Node *curr = sorted;

// 每次去排序curr就重新初始化這個prev和temp

Node *prev = linklist;

Node *temp = linklist->next;

while(temp != NULL && temp->score < curr->score){

// 原先的linklist實際是排序好的列表,一直循環到排序列表中temp的數據剛好就是插入數據的前一個

prev = temp;

temp = temp->next;

}

// 插入的新節點curr,后續指向linklist后續的節點

curr->next = temp;

prev->next = curr;

// 下次再找下一個需要排序的節點

sorted = sorted->next;

}

return;

}

為方便理解,讀者可以繪制圖形移動說明文本來理解算法邏輯過程

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

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

相關文章

遠場代碼學習_FDTD_farfield

項目4.2 farfield3d - Script command在3D模擬中將給定的功率或場剖面監視器或直線數據集投射到遠場。返回電場強度|E| 2。語法描述 out farfield3d("mname",f, na, nb, illumination, periodsa, periodsb, index, direction)&#xff1b; 將給定的功率或場分布監…

Adobe Illustrator(Ai) 2022安裝教程與下載地址

Adobe Illustrator&#xff08;通常簡稱 AI&#xff09;是一款由 Adobe 公司開發的、基于矢量圖形的專業設計軟件。它與 Photoshop&#xff08;基于位圖/像素&#xff09;和 InDesign&#xff08;專注于頁面排版&#xff09;并稱為數字創意領域的“三巨頭”&#xff0c;是平面設…

小迪web自用筆記27

框架就是一些封裝好的東西*上節課補&#xff1a;JS負責美化框架的&#xff08;發送HTTP請求前端&#xff0c;js相當于前端并且附加上一些連接后端的功能。&#xff09;&#xff0c;JAVA是后端。PHPthink&#xff08;用的最多的框架&#xff09;URL&#xff1a;原&#xff1a;ht…

創建阿里云ECS實例操作(免費試用版)

目錄 1、進入阿里云ECS控制臺 2、創建ECS實例 3、重置實例密碼 4、遠程登陸實例 5、查看ECS信息 6、安裝apache服務 7、端口規則設置 8、訪問測試 9、釋放實例 1、進入阿里云ECS控制臺 https://www.aliyun.com/ 2、創建ECS實例 3、重置實例密碼 4、遠程登陸實例 5、查…

JVM相關 4|JVM調優與常見參數(如 -Xms、-Xmx、-XX:+PrintGCDetails) 的必會知識點匯總

目錄&#xff1a;&#x1f9e0; 一、JVM調優目標1. 調優核心目標2. 調優常見問題&#x1f9e9; 二、JVM調優核心參數詳解1. 堆內存相關參數2. 垃圾回收器相關參數3. GC日志與性能監控4. 元空間&#xff08;Metaspace&#xff09;調優5. 棧內存調優6. 其他關鍵參數&#x1f4cc;…

HOT100--Day13--104. 二叉樹的最大深度,226. 翻轉二叉樹,101. 對稱二叉樹

HOT100–Day13–104. 二叉樹的最大深度&#xff0c;226. 翻轉二叉樹&#xff0c;101. 對稱二叉樹 每日刷題系列。今天的題目是《力扣HOT100》題單。 題目類型&#xff1a;二叉樹。 關鍵&#xff1a;要深刻理解《遞歸》 104. 二叉樹的最大深度 方法&#xff1a;遞歸 思路&…

Maven 從 0 到 1:安裝、配置與依賴管理一站式指南

Maven 從 0 到 1&#xff1a;安裝、配置與依賴管理一站式指南Maven 從 0 到 1&#xff1a;安裝、配置與依賴管理一站式指南一、Maven 是什么&#xff1f;二、核心概念&#xff1a;POM三、Maven 是如何工作的&#xff1f;—— 倉庫機制四、安裝Maven五、在 IntelliJ IDEA 里配置…

k8s,v1.30.4,安裝使用docker

一.前置概念Docker 與 Kubernetes 共用同一個 containerd 進程 時&#xff0c;只要滿足以下 3 個條件&#xff0c;就不會沖突&#xff1a;檢查點要求原因cgroup-driverkubelet 與 containerd 必須同為 systemd二者不一致會導致 Pod 無法調度Unix socketkubelet 指向 /run/conta…

開源AI智能名片鏈動2+1模式S2B2C商城小程序服務提升復購率和轉介紹率的研究

摘要&#xff1a;本文聚焦于開源AI智能名片鏈動21模式S2B2C商城小程序在提升客戶復購率和轉介紹率方面的作用。服務對于促進客戶復購和轉介紹的重要性不言而喻&#xff0c;維護老客戶的成本遠低于開發新客戶&#xff0c;微商通過推出各項服務來贏得客戶忠誠。本文深入探討開源A…

[數據結構] ArrayList(順序表)與LinkedList(鏈表)

目錄 1.List 1.1 什么是List 1.2 常用的方法 1.3 List的使用 2. 線性表 3. ArrayList 類(順序表) 3.1 順序表定義 3.2 ArrayList鏈表的功能模擬實現 3.3 ArrayList簡介 3.4 ArrayList的構造方法 3.5 ArrayList的遍歷 3.5 ArrayList的具體使用實例 3.5.1 楊輝三角 …

Hive使用Tez引擎出現OOM的解決方法

環境是Hive以Tez作為引擎&#xff0c;然后使用客戶端&#xff08;比如DataGrip&#xff09;連接Hive運行SQL查詢&#xff0c;運行過程中報錯信息如下&#xff1a;java.lang.OutOfMemoryError: Java heap space…連接工具以DataGrip為例&#xff0c;解決辦法如下&#xff1a; --…

SQL面試題及詳細答案150道(81-100) --- 子查詢篇

《前后端面試題》專欄集合了前后端各個知識模塊的面試題,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,MySQL,Linux… 。 前后端面試題-專欄總目錄 文章目錄 一、本文面試題目錄 81. 什么是子查詢?子查…

筆記:ubuntu安裝matlab

記錄一下ubuntu安裝matlab的過程 一、進入桌面 雖然系統是ubuntu server&#xff0c;但是安裝matlab最好還是有桌面。這里使用todesk等工具&#xff0c;進入桌面進行遠程安裝。 二、創建matlab賬號 由于學校已經提供了matlab的賬號&#xff0c;只需要用自己的學生郵箱進行注冊即…

CentOS 7 編譯安裝 OpenSSL 3.4.2

CentOS 7默認已經安裝了OpenSSL&#xff0c;不過版本比較低 openssl version結果為&#xff1a;OpenSSL 1.0.2k-fips 26 Jan 2017 已經無法滿足需求 OpenSSL 源碼下載鏈接&#xff1a;https://www.openssl-library.org/source/ 下載源碼包為&#xff1a;https://github.com…

python advance -----object-oriented

alt shift 上下鍵&#xff0c;行代碼上下移動0

具身智能的工程落地:視頻-控制閉環的實踐路徑

引言&#xff1a;從“能算會說”到“會看能做” 具身智能真正的門檻&#xff0c;不在于把模型做得更大&#xff0c;而在于把感知—決策—執行焊成一條低時延、穩態可控的閉環工程鏈路&#xff1a;從相機/麥克風采集&#xff0c;到編解碼與傳輸&#xff0c;再到邊/端推理、指令…

STM32 - Embedded IDE - GCC - 如何在工程中定義一段 NoInit RAM 內存

導言如上所示&#xff0c;Keil創建一段NoInit內存同樣是通過圖形界面來完成&#xff0c;IRAM2的起始地址0x2000000&#xff0c;大小8bytes。NoInit的意思是程序初始化時&#xff0c;不會將內存清0初始化。如上所示&#xff0c;在MEMORY段&#xff0c;將64K的RAM內存劃一塊8byte…

MyBatisX代碼生成插件在IDEA中的安裝配置、連接數據庫表生成代碼快速開發示例

場景 MyBatisX插件介紹 MybatisX是一款基于IDEA的快速開發插件&#xff0c;由MyBatis-Plus團隊開發維護&#xff0c;為效率而生。 它的主要功能如下&#xff1a; 支持mapper.xml和Mapper接口之間方法的互相導航跳轉&#xff1b; 內置代碼生成器&#xff0c;通過使用GUI的形…

單詞分析與助記之數據建表(以production為例)

單詞分析與助記數據建表&#xff08;以production為例&#xff09;&#xff1a; id&#xff08;流水號&#xff09;&#xff1a;詞形&#xff1a;production配圖1-標題&#xff1a;略配圖1-地址&#xff1a;略配圖2-標題&#xff1a;略配圖2-地址&#xff1a;略配圖3-標題&…

AI助力決策:告別生活與工作中的糾結,明析抉擇引領明智選擇

在日常生活與工作中&#xff0c;我們時常會面臨各種糾結的決策。從選擇一份新工作、創業方向&#xff0c;到決定是否要搬家、換車&#xff0c;每一個決策都可能對我們的未來產生深遠影響。然而&#xff0c;面對復雜多變的信息和不確定的未來&#xff0c;如何做出明智的選擇成為…