嵌入式學習的第二十天-數據結構-調試+鏈表的一般操作

一、調試

1.一般調試

2.找段錯誤

二、鏈表的一般操作

1.單鏈表的修改

int ModifyLinkList(LinkList*ll,char*name,DATATYPE*data)
{DATATYPE * tmp = FindLinkList(ll, name);if(NULL == tmp){return 1;}memcpy(tmp,data,sizeof(DATATYPE));return 0;
}

2.單鏈表的銷毀

int DestroyLinkList(LinkList**ll)
{while(1){LinkNode * tmp = (*ll)->head;if(NULL == tmp){break;}(*ll)->head = (*ll)->head->next;free(tmp); }free(*ll);*ll = NULL;return 0;
}

3.查找中間節點

LinkNode* FindMidLinkList(LinkList*ll)
{LinkNode*slow = ll->head;LinkNode*fast = ll->head;while(fast){fast =fast->next;if(NULL == fast){break;;}slow = slow->next;fast =fast->next;}return slow;
}

?4.找倒數第k個節點

/*** @brief 查找倒數第k個節點* * @param ll 需要查找的鏈表* @param k 倒數第k個節點* @return LinkNode* 找到對應的節點*/
LinkNode*FindKLastLinkList(LinkList*ll,int k)
{LinkNode*slow = ll->head;LinkNode*fast = ll->head;int i = 0;for(i = 0;i<k;++i){fast =fast->next;}while (fast) {fast =fast->next;slow = slow->next;}return slow;
}

5.鏈表的逆序

int ReverseLinkList(LinkList*ll)
{LinkNode*prev = NULL;LinkNode*tmp = ll->head;LinkNode*next = tmp->next;int len = GetSizeLinkList(ll);if(len<2){return 1;}while(1){tmp->next = prev;prev = tmp;tmp = next;if(NULL == tmp) break;next = next->next;   }ll->head = prev;return 0;
}

6.鏈表的排序(插入法排序)?

int SertSortLinkList(LinkList*ll)
{LinkNode*pinsert = ll->head;LinkNode*ptmp = pinsert->next;LinkNode*next = ptmp->next;ptmp->next = NULL;ll->head->next = NULL;while (1) {pinsert = ll->head;while (pinsert->next&&ptmp->data.age>pinsert->data.age&&ptmp->data.age>pinsert->next->data.age){pinsert=pinsert->next;}if(pinsert->data.age>ptmp->data.age){ptmp->next=ll->head;ll->head=ptmp;}else{ptmp->next=pinsert->next;pinsert->next=ptmp;}ptmp=next;if(NULL==ptmp){break;}next=next->next;ptmp->next=NULL;}return 0;
}

7.循環鏈表

int circultlarLinkList(LinkList* ll)
{LinkNode* slow = ll->head;LinkNode* fast = ll->head;while(fast){fast  =fast->next;if(NULL == fast){return 0;;}if(slow == fast){return 1;}fast =fast->next;slow = slow->next;}return 0;
}

三、順序表和鏈表的優缺點

1.存儲方式

  • 順序表是一段連續的存儲單元
  • 鏈表是邏輯結構連續物理結構(在內存中的表現形式)不連續

2.時間性能

(1)查找:順序表O(1)? 鏈表??O(n)

(2)插入和刪除:順序表?O(n)? 鏈表???O(1)

3.空間性能

  • 順序表?需要預先分配空間,大小固定
  • 鏈表,?不需要預先分配,大小可變,動態分配

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

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

相關文章

如何同時管理不同平臺的多個賬號?

在當今數字營銷、電商運營、跨境貿易盛行的時代&#xff0c;同時管理多個平臺的賬號幾乎成了從業者的標配。無論是做社媒營銷的廣告主&#xff0c;還是操作亞馬遜、eBay、Shopee 等平臺的跨境賣家&#xff0c;多賬號運營都是提升曝光、分散風險、擴大收益的重要方式。 然而&am…

STM32外設AD/DA-基礎及CubeMX配置

STM32外設AD/DA-基礎及CubeMX配置 一&#xff0c;什么是AD/DA二&#xff0c;基礎概念1&#xff0c;模擬 vs 數字2&#xff0c;AD轉換1&#xff0c;分辨率 (Resolution)2&#xff0c;參考電壓 (Reference Voltage, Vref)3&#xff0c;采樣率 (Sampling Rate) 3&#xff0c;DA轉換…

【軟考 霍夫曼編碼的文檔壓縮比】

霍夫曼編碼的文檔壓縮比計算基于字符頻率的最優編碼分配&#xff0c;以下是詳細步驟及相關案例&#xff1a; 一、壓縮比計算公式 [ \text{壓縮比} \frac{\text{壓縮前總比特數}}{\text{壓縮后總比特數 編碼表存儲開銷}} ] 通常以 比率&#xff08;如 3:1&#xff09; 或 百分…

關閉VSCode 自動更新

參考&#xff1a;關閉VSCode 自動更新_vscode關閉自動更新-CSDN博客 vscode的設置 Update: Mode Update: Enable Windows Background Updates Extensions: Auto Check Updates Extensions: Auto Update

Flask框架搭建

1、安裝Flask 打開終端運行以下命令&#xff1a; pip install Flask 2、創建項目目錄 在Windows上&#xff1a; venv\Scripts\activate 執行 3、創建 app.py 文件 可以在windows終端上創建app.py文件 &#xff08;1&#xff09;終端中創建 使用echo命令 echo "fr…

5G-A和未來6G技術下的操作系統與移動設備變革:云端化與輕量化的發展趨勢

目錄 5G技術帶來的革命性變革 云端化操作系統的實現路徑 完全云端化模式 過渡性解決方案 未來操作系統的發展方向 功能架構演進 安全機制強化 移動設備的形態變革 終端設備輕量化 物聯網設備簡化 實施挑戰與應對策略 技術挑戰 商業模式創新 總結與展望 5G技術作為…

【漫話機器學習系列】261.工具變量(Instrumental Variables)

工具變量&#xff08;Instrumental Variables&#xff09;通俗圖解&#xff1a;破解內生性困境的利器 在數據建模與因果推斷過程中&#xff0c;我們經常遇到一個棘手問題&#xff1a;內生性&#xff08;Endogeneity&#xff09;。它會導致模型估計產生偏差&#xff0c;進而誤導…

CSS:顏色的三種表示方式

文章目錄 一、rgb和rgba方式二、HEX和HEXA方式&#xff08;推薦&#xff09;三、hsl和hsla方式四、顏色名方式 一、rgb和rgba方式 10進制表示方法 二、HEX和HEXA方式&#xff08;推薦&#xff09; 就是16進制表示法 三、hsl和hsla方式 語法&#xff1a;hsl(hue, satura…

支付寶授權登錄

支付寶授權登錄 一、場景 支付寶小程序登錄&#xff0c;獲取用戶userId 二、注冊支付寶開發者賬號 1、支付寶開放平臺 2、點擊右上角–控制臺&#xff0c;創建小程序 3、按照步驟完善信息&#xff0c;生成密鑰時會用到的工具 4、生成的密鑰&#xff0c;要保管好&#xff…

涂色不踩雷:如何優雅解決 LeetCode 柵欄涂色問題

文章目錄 摘要描述例子&#xff1a; 題解答案&#xff08;Swift&#xff09;題解代碼分析動態規劃核心思路初始條件 示例測試及結果示例 1&#xff1a;示例 2&#xff1a;示例 3&#xff1a; 時間復雜度空間復雜度總結實際場景聯系 摘要 在用戶體驗和界面設計中&#xff0c;顏…

GEE計算 RSEI(遙感生態指數)

&#x1f6f0;? 什么是 RSEI&#xff1f;為什么要用它評估生態環境&#xff1f; RSEI&#xff08;遙感生態指數&#xff0c;Remote Sensing Ecological Index&#xff09; 是一種通過遙感數據計算得到的、綜合反映區域生態環境質量的指標體系。 它的設計初衷是用最少的變量&…

圖像處理:預覽并繪制圖像細節

前言 因為最近在搞畢業論文的事情&#xff0c;要做出一下圖像細節對比圖&#xff0c;所以我這里寫了兩個腳本&#xff0c;一個用于框選并同時預覽圖像放大細節&#xff0c;可顯示并返回框選圖像的坐標&#xff0c;另外一個是輸入框選圖像的坐標并將放大的細節放置在圖像中&…

基于javaweb的SSM駕校管理系統設計與實現(源碼+文檔+部署講解)

技術范圍&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬蟲、數據可視化、小程序、安卓app、大數據、物聯網、機器學習等設計與開發。 主要內容&#xff1a;免費功能設計、開題報告、任務書、中期檢查PPT、系統功能實現、代碼編寫、論文編寫和輔導、論文…

限制 MySQL 服務只能被內網 `192.168.1.*` 網段的設備訪問

1. 修改 MySQL 配置文件 MySQL 默認監聽所有網絡接口(0.0.0.0),需要將其綁定到內網 IP 地址或限制訪問范圍。 (1)編輯 MySQL 配置文件 找到 MySQL 的主配置文件,通常是 /etc/my.cnf 或 /etc/mysql/my.cnf。使用文本編輯器打開: sudo vi /etc/my.cnf(2)設置 bind-a…

uniapp-商城-55-后臺 新增商品(分類、驗證和彈窗屬性)

1、概述 在前面 &#xff0c;我們將商品頁面的布局給完成了&#xff0c;這里來對表單的標簽輸入進行校驗&#xff0c;看看這里的校驗還是不是也需要兼容微信小程序&#xff0c;還有沒有前面遇到的自定義正則進行校驗的情況。 另外這里還需要完成商品屬性的添加&#xff0c;就是…

PyInstaller 打包后 Excel 轉 CSV 報錯解決方案:“excel file format cannot be determined“

一、問題背景 在使用 Python 開發 Excel 轉 CSV 工具時,直接運行腳本(python script.py)可以正常工作,但通過 PyInstaller 打包成可執行文件后,出現以下報錯: excel file format cannot be determined, you must specify an engine manually 該問題通常發生在使用pandas…

【HTML 全棧進階】從語義化到現代 Web 開發實戰

目錄 &#x1f31f; 前言&#x1f3d7;? 技術背景與價值&#x1fa79; 當前技術痛點&#x1f6e0;? 解決方案概述&#x1f465; 目標讀者說明 &#x1f9e0; 一、技術原理剖析&#x1f4ca; 核心概念圖解&#x1f4a1; 核心作用講解&#x1f527; 關鍵技術模塊說明?? 技術選…

小結:網頁性能優化

網頁性能優化是提升用戶體驗、減少加載時間和提高資源利用率的關鍵。以下是針對網頁生命周期和事件處理的性能優化技巧&#xff0c;結合代碼示例&#xff0c;重點覆蓋加載、渲染、事件處理和資源管理等方面。 1. 優化加載階段 減少關鍵資源請求&#xff1a; 合并CSS/JS文件&a…

【AI學習】AI大模型技術發展研究月報的生成提示詞

AI大模型技術發展研究月報生成提示詞 請輸出AI大模型技術發展研究月報&#xff0c;要求如下&#xff1a; —————————— 任務目標 在今天&#xff08;{{today}}&#xff09;往前連續 30 天內&#xff0c;檢索已正式公開發表的、與AI大模型&#xff08;參數量 ≥10B&am…

AI 實踐探索:輔助生成測試用例

背景 目前我們的測試用例主要依賴人工生成和維護&#xff0c;AI時代的來臨&#xff0c;我們也在思考“AI如何賦能業務”&#xff0c;提出了如下命題&#xff1a; “探索通過AI輔助生成測試用例&#xff0c;完成從需求到測試用例生成的穿刺”。 目標 找全測試路徑輔助生成測…