26數據結構-順序表

📌有序順序表的合并

#define MAX_SIZE 20
struct SeqList
{int data[MAX_SIZE];int length;
};
void mergeArray(SeqList &L1,SeqList &L2,SeqList &L)
{int i=0,j =0;while(i<L1.length && j<L2.length){if(L1.data[i]<L2.data[j])L.data[length++] = L1.length[i++];elseL.data[length++] = L2.length[j++];}while(i<L1.length){L.data[length++] = L1.length[i++];}while(i<L2.length){L.data[length++] = L2.length[j++];}
}

📌刪除有序順序表重復元素

void deleteRepeatELement(SeqList &L)
{int slow =0,fast=1;while(fast<L.length){if( L.data[slow] == L.data[fast]){fast++;}else if( L.data[slow] != L.data[fast]){L.data[++slow] =L.data[fast++];}}L.length =slow+1;
}

通過快慢指針的追趕,將不重復的元素 "前移",覆蓋掉重復元素,最終實現原地去重,時間復雜度為 O (n),空間復雜度為 O (1)。

📌編寫算法,對n個關鍵字取整數值的記錄序列進?整理,以使得所有關鍵字為負數的記錄排在關鍵字為?負數的記錄之前。

void reOrderArray(SeqList &L)
{int i=0,j=0;while(j<L.length){if(L.data[j]<0){if(i!=j){int tmp = L.data[i];L.data[i] = L.data[j];L.data[j] = tmp;}i++;j++;}elsej++;}
}

📌設有?組初始記錄關鍵字序列(K1,K2,…,Kn),要求設計?個算法能夠在O(n)的時間復雜度內將線性表劃分成兩部分,其中左半部分的每個關鍵字均?于Ki,右半部分的每個關鍵字均?于Ki。

//?法?:雙指針
void spliceArrayother(SeqList &L)
{int left = 0;           //左半部分的索引。int right = L.length -1; //右半部分的索引while( left <= right ){while(L.data[left] < key)left ++;while(L.data[right] > key)right --;//如果left <=right 交換if(left <=right){int tmp = L.data[left];L.data[left] =L.data[right];L.data[right] = tmp;left ++;right--;}}
}
//?法?:類似快排
void spliceArray(SeqList &L)
{int key;int i = 0,j=0;while(j < L.length){if(L.data[j]> key){if(i != j){int tmp = L.data[i];L.data[i] = L.data[j];L.data[j] = tmp;}i++;j++;}j++;}
}

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

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

相關文章

25電賽e題 控制激光開關電路

e題明確說了禁止使用繼電器控制&#xff0c;所以需要自己搭建一個mos管控制電路這里使用mos管來驅動GPIO → 電阻(220Ω) → MOSFET柵極(如IRF520N)MOSFET漏極接激光器正極MOSFET源極接地激光器負極直接接電源連接方式如下這里r36為柵極電阻&#xff0c;需要跟你們使用的mos配合…

ubuntu apt源報錯?

報錯原因&#xff1a;一、網絡連接方面1.網絡不通暢&#xff08;常見&#xff09;簡單來說就是你的虛擬機連不上網&#xff0c;這時候你應該檢查自己的ip 是不是dhcp自動獲取的&#xff0c;或者你的網絡配置是否有誤。2.DNS 解析故障&#xff1a;DNS 服務器配置錯誤或 DNS 服務…

Scene as Occupancy

OccNet https://github.com/OpenDriveLab/OccNet Scene as Occupancy 提出了一種新的場景表示方法&#xff0c; 利用環視攝像頭&#xff0c;采用級聯和時序體素編碼的方式來重建三維Occ場景。Method 1&#xff09;提出的OCCNet首先重建占據描述符&#xff0c;目標是為支持下游任…

Linux基礎復習:字符輸入與輸出

該文僅針對自身對Linux基礎知識不足的地方進行補充擴展&#xff0c;便于鞏固。終端的輸入和輸出由字符設備管理。1、查看當前字符設備# 查看當前bash進程 [rootopenEuler-1 ~]# psPID TTY TIME CMD9662 pts/1 00:00:00 bash9938 pts/1 00:00:00 ps# 該目錄存放了…

【初識數據結構】CS61B中的基數排序

本教程介紹 CS61B 中的基數排序&#xff0c;這是一種可以在某些情況下甚至超越歸并排序、快速排序的特殊的排序方法&#xff0c;但是犧牲了內存空間計數排序 連續編號情形 我們需要對一個編號從 0 到 11 的表進行排序實際上我們可以拿出另一張同樣大小的空白表&#xff0c;在遍…

ReAct模式深度解析:構建具備推理能力的AI智能體架構

本文深入剖析ReAct(Reasoning+Acting)架構設計模式,揭示如何通過推理與行動循環構建具備自主決策能力的AI智能體,并展示其在復雜問題求解中的革命性突破。 引言:從工具調用到自主決策的進化 傳統AI系統面臨的核心瓶頸: #mermaid-svg-orlnKyviyW86xIJZ {font-family:&quo…

Corrosion2靶機攻略

第一步搭建環境 靶機下載地址&#xff1a;https://download.vulnhub.com/corrosion/Corrosion2.ova 下載完成后直接右擊用VM打開&#xff0c;重試一下就可以了 右擊虛擬機設置將網絡連接改成nat模式 第二步信息收集 查看一下靶機的網段&#xff0c;左上角編輯&#xff0c;虛…

SSL 剝離漏洞

一、SSL/TLS 協議基礎?1.1、SSL/TLS 協議的核心功能?SSL/TLS 協議的核心功能主要包括三個方面&#xff1a;加密、認證和完整性校驗&#xff0c;這三大功能共同構建了網絡通信的安全屏障。?&#xff08;一&#xff09;加密?加密是 SSL/TLS 協議最基本的功能。它通過使用對稱…

c++-reverse_iterator

C反向迭代器 反向迭代器是C標準庫提供的一種適配器&#xff0c;它允許我們以相反的順序遍歷容器&#xff0c;反向迭代器是正向迭代器的封裝。 迭代器可以分為兩類&#xff1a;方向性質&#xff1a;單向迭代器&#xff08;Forward Iterator&#xff09;雙向迭代器&#xff08;Bi…

linux內核驅動:電流/電壓/功率監控模塊INA226調試

目錄背景一、芯片介紹二、手冊三、內核驅動配置3.1 設備樹配置3.2 修改內核配置文件3.3 編譯四、內核驅動分析1、初始化流程2、屬性文件/解釋五、調試和計算背景 最近調試了一款德州儀器的帶有I2C控制接口的可以實現電壓、電流、功率監測&#xff0c;并可以進行報警設置的芯片I…

ACL 2024 大模型方向優秀論文:洞察NLP前沿?關鍵突破

關注gongzhonghao【計算機sci論文精選】近年來&#xff0c;以Transformer架構為核心的大語言模型重塑了自然語言處理領域的技術范式。當前ACL相關研究呈現多維度深化態勢&#xff0c;從開源社區推動輕量化架構與低成本訓練技術革新&#xff0c;到學術界探索檢索增強等機制突破長…

樂創E20H1型IO從站與Ethercat轉Profinet網關轉換器的配置應用案例

本案例聚焦于西門子 1200PLC 與 E20H1 - T01 IO 從站的連接。在正常運行過程中&#xff0c;E20H1 - T01 IO 從站需支持 EtherCAT 協議&#xff0c;作為 EtherCAT 從站&#xff1b;而監控系統所采用的西門子 S7 - 1200 系列 PLC 則支持 PROFINET 協議。由于協議的不一致性&#…

【2】專業自定義圖表創建及應用方法

一、專業自定義圖表創建及應用方法1&#xff09;不是圖表的圖表制作方法例題1:迷你圖表制作方法&#xfeff;定義&#xff1a;指依靠Excel基本制圖功能之外的其他功能&#xff08;如公式、條件格式、迷你圖等&#xff09;創建的數據可視化圖表特點&#xff1a;引用數據少且占用…

embodied復現所需docker環境配置粗略流程

由于embodied很多安裝包都需要linux環境&#xff0c;所以為了建立虛擬ubuntu系統&#xff0c;在不適用vmvare的情況&#xff0c;可以考慮使用docker容器來實現&#xff0c;也不會出現的vmware的卡頓情況 1.首先建立容器&#xff0c;并和pycharm建立連接,先安裝docker desktop&a…

2025.8-12月 AI相關國內會議

以下是2025年8月至12月國內與人工智能&#xff08;AI&#xff09;相關的重要會議及活動總結&#xff0c;按時間順序排列&#xff1a; 2025年8月第六屆人工智能與機電自動化國際學術會議&#xff08;AIEA 2025&#xff09; ? 時間&#xff1a;8月1-3日 ? 地點&#xff1a;安徽…

計數組合學7.10(舒爾函數的組合定義)

7.10 舒爾函數的組合定義 前幾節討論的四個基 mλm_{\lambda}mλ?、eλe_{\lambda}eλ?、hλh_{\lambda}hλ? 和 pλp_{\lambda}pλ? 的定義都較為直觀。本節將介紹第五個基&#xff0c;其元素記為 sλs_{\lambda}sλ?&#xff0c;稱為舒爾函數&#xff0c;其定義則更為微…

【前端】CSS Grid布局介紹及示例

CSS Grid 簡介 CSS Grid 是一個二維布局系統&#xff0c;專為處理行和列的復雜網頁布局而設計。與 Flexbox&#xff08;一維布局&#xff09;不同&#xff0c;Grid 允許開發者同時控制行和列&#xff0c;實現更精確的布局結構。 核心概念&#xff1a; Grid 容器&#xff1a;通過…

[echarts]多個柱狀圖及圖例

前言 實現多個柱狀圖功能&#xff0c;并設置多個圖例樣式&#xff0c;并定時刷新數據 react引入echarts import React, { useEffect, useRef } from react; import * as echarts from echarts; import DeviceApi from /api/screen/DeviceApi;const CenterDeviceSummary (props…

【讀文獻】Capacitor-drop AC-DC

[1] F. Song, et al., “An 85-to-230VAC to 3.3-to-4.6VDc 1.52W Capacitor-Drop Sigma-Floating-SC AC-DC Converter with 81.3% Peak Efficiency,” 2025 IEEE International Solid-State Circuits Conference (ISSCC), 2025.以下是針對該電容降壓AC-DC轉換器設計的通俗版解…

`StreamConfigurationMap` 實現邏輯與解析過程詳解:相機流能力的聲明、匹配與驗證機制全景

StreamConfigurationMap 實現邏輯與解析過程詳解:相機流能力的聲明、匹配與驗證機制全景 關鍵詞: StreamConfigurationMap、CameraCharacteristics、OutputFormat、InputFormat、Size 配置、幀率范圍、流兼容性、配置失敗調試 摘要: StreamConfigurationMap 是 Android 相…