數據結構中鏈表的題目

  • 題目

? ? ? ? ? ? ? ? ? ??設計一個算法,要求將鏈表中所有節點的鏈接方向“原地”逆轉,即要求僅利用原表的存儲空間。

  • 對于這個問題,首先要分析的是:鏈表中的頭和尾節點如何插入?其次就是:如何鏈接?

? ? ? 搞懂這兩個的問題,問題就迎刃而解了。

  • 這次用的代碼,就是:c++軟件。

? ? ? ?先寫主函數,則代碼為:

int main()
{LinkList LA;LinkList LC;int n;cout << "請輸入需要創建單鏈表的長度:" << endl;cin >> n;cout << "請依次輸入需要存入的數據(尾插法):" << endl;CreateList(LA, n);//函數的聲明cout << "單鏈表A為:";display(LA);LC = new LNode;LC->next = NULL;//必須保證所創造的空間為空VerList_L(LA, LC);display(LC);return 0;
}

此對應的就是:主函數的代碼。

  • 首先就是創建一個新的鏈表,也就是對GeateList(LA,n)進行聲明和調用。則代碼為:
//創建鏈表
int CreateList(LinkList &L,int n)
{LNode* p, * r;int i;L = new LNode;//新建一個空間L->next = NULL;//指向空指針r = L;for (i = 0; i < n; i++){p = new LNode;cin >> p->data;p->next = NULL;r->next = p;r = p;}return 0;
}

  • 接下來就是:輸出鏈表,則代碼為:

? ? ? ?

//輸出鏈表
void display(LinkList L)
{LNode* p;p = L->next;cout << "(";while (p){cout << p->data << "";p = p->next;cout << ")" << endl;}}

  • 最后一步,逆轉,則代碼為:
//逆轉
int VerList_L(LinkList &LA,LinkList &LC)
{LNode* pa;LNode* pc;pa = LA->next;pc = LC;while (pa){pc = pa;pa = pa->next;pc->next = LC->next;LC->next = pc;  //插入到表頭}delete LA;
}

  • 這個就是這道題目的解題過程,如有錯,請君指點。

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

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

相關文章

閱讀筆記——《未知協議狀態機推斷技術研究綜述》

【參考文獻】盛嘉杰, 牛勝杰, 陳陽, 等. 未知協議狀態機推斷技術研究綜述[J]. 計算機與現代化, 2023 (05): 58.【注】本文僅為作者個人學習筆記&#xff0c;如有冒犯&#xff0c;請聯系作者刪除。 摘要 協議逆向工程&#xff08;PRE&#xff09;描述了協議的行為邏輯&#xff…

spring cloud config server源碼學習(一)

文章目錄 1. 注解EnableConfigServer2. ConfigServerAutoConfiguration2.1 ConditionalOnBean和ConditionalOnProperty2.2 Import注解2.2.1. EnvironmentRepositoryConfiguration.class2.2.2. CompositeConfiguration.class2.2.3. ResourceRepositoryConfiguration.class2.2.4.…

python3 + selenium webdriver自動化測試啟動不同瀏覽器

selenium webdriver自動化測試啟動不同瀏覽器 selenium webdriver 介紹Selenium WebDriver 進行自動化測試的一般流程瀏覽器驅動下載瀏覽器驅動的安裝chrome、edge、Firefox、Opera、Safari、phantomjs 應用Headless Chrome 、Headless Firefox 應用 selenium webdriver 介紹 …

shell命令運行原理及Linux權限問題

目錄 shell命令以及運行原理用戶管理添加用戶刪除用戶sudo Linux權限的概念Linux權限管理文件訪問者的分類&#xff08;人&#xff09;文件類型和訪問權限&#xff08;事物屬性&#xff09;文件權限值的表示方法文件訪問權限的相關設置方法 目錄的權限粘滯位 shell命令以及運行…

備考AMC8和AMC10競賽,吃透2000-2024年1850道真題和解析(持續)

多做真題&#xff0c;吃透真題和背后的知識點是備考AMC8、AMC10有效的方法之一&#xff0c;通過做真題&#xff0c;可以幫助孩子找到真實競賽的感覺&#xff0c;而且更加貼近比賽的內容&#xff0c;可以通過真題查漏補缺&#xff0c;更有針對性的補齊知識的短板。 今天我們繼續…

PostgreSQL基本使用Schema

參考文章&#xff1a;PostgreSQL基本使用&#xff08;3&#xff09;Schema_pg數據庫查詢schema-CSDN博客 PostgreSQL 模式&#xff08;Schema&#xff09;可以理解為是一個表的集合&#xff08;或者所屬者&#xff09;。 例如&#xff1a;在 MySQL 中&#xff0c;Scheam 是庫&…

gcc源碼分析(AST抽象語法樹)

文章目錄 三、AST相關1、AST(抽象語法樹)1.1 樹結點的聲明1.2 樹結點的結構1.2.1 tree_node聯合體1.2.2 tree_base結構體1.2.3 tree_common結構體1.2.4 常量結構體1.2.5 **標識符節點**2、符號綁定,作用域與block樹節點2.1 lang_identifier結構體2.2 c_binding結構體2.3 scop…

HLS視頻加密,讓您的視頻內容更安全!

背景介紹 HLS視頻加密是一種基于HTTP Live Streaming&#xff08;HLS&#xff09;協議的加密技術。它的核心思想是將視頻切片進行加密處理&#xff0c;在客戶端播放時需要先獲取解密密鑰才能正常偶發。通過這種方式&#xff0c;HLS加密可以有效防止未經授權的第三方竊取視頻內…

測試短信推薦參考

短信測試參考 國外&#xff1a; smstome 支持多個國家號碼 官網地址&#xff1a; https://smstome.com/ quackr.io 支持多個國家號碼 官網地址&#xff1a; https://quackr.io/ receive-smss 支持多個國家號碼 地址&#xff1a; https://receive-smss.com/ receive-sms-fr…

C#字典的常用方法

C#的字典&#xff08;Dictionary&#xff09;類是一個通用的集合類&#xff0c;它實現了鍵值對的存儲和訪問。以下是一些常用的字典方法&#xff1a; Add(key, value)&#xff1a;向字典中添加一個指定的鍵值對。Remove(key)&#xff1a;從字典中移除具有指定鍵的元素。Contai…

LLM大模型的7種推理框架分析

LLM的7種推理框架 Hugging Face的transformers 這是一個Python庫&#xff0c;可以簡化本地運行LLM的過程。 Transformers的優點&#xff1a; 自動模型下載提供代碼片段非常適合實驗和學習 Transformers的缺點&#xff1a; 需要對ML和NLP有深入了解需要編碼和配置技能 2.L…

深度學習之基于Tensorflow低光增強的深層Retinex分解

歡迎大家點贊、收藏、關注、評論啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代碼。 文章目錄 一項目簡介 二、功能三、系統四. 總結 一項目簡介 一、項目背景與意義 在圖像處理領域&#xff0c;低光照環境下的圖像增強是一個具有挑戰性的問題。為了提高圖像的可…

紐曼新品X1000:輕巧便攜僅重9.9公斤的1度電應急電源

在戶外救援行動和應急設備中&#xff0c;電力供應的穩定性和安全性直接影響到救援工作的效率和成功率。在現代救援工作中&#xff0c;常見的光學聲波探測儀、通信聯絡設備、氣象檢測儀、生命探測儀、照明設備等裝備均需有持續的電力供應&#xff0c;才能保障救援工作的有序開展…

西門子WINCC8.0VBS腳本學習講解

WinCC VBS腳本置位/復位/取反 二進制變量 "TAG1_BOOL1" 進行置位復位取反操作 步驟&#xff1a;按鈕-->對象屬性-->事件-->單擊鼠標VBS動作填入代碼如下: 對二進制變量進行復位 對二進制變量進行置位 對二進制變量進行取反 VBS腳本數學運算/讀寫批處理 …

第十六講:數據在內存中的存儲

第十六講&#xff1a;數據在內存中的存儲 1.整數在內存中的存儲1.1存儲方式1.2大小端字節序1.3大小端字節序排序規則1.4為什么要有大小端1.5練習1.5.1練習11.5.2練習21.5.3練習31.5.4練習41.5.5練習51.5.6練習61.5.7練習7 2.浮點數在內存中的存儲2.1練習2.2浮點數的存儲2.3浮點…

如何將數據從一部手機傳輸到另一部手機[安全快速]

概括 手機之間無需使用藍牙即可傳輸文件&#xff0c;配合專業的文件傳輸工具更高效。本文將向您介紹幾種使用不同的數據傳輸工具快速安全地將數據從一部手機傳輸到另一部手機的方法&#xff0c;特別是當有大文件或大量文件時。現在&#xff0c;我們來看看。 需要在朋友或家人之…

Rust 賦能前端 -- 寫一個 File 轉 Img 的功能

所有耀眼的成績,都需要苦熬,熬得過,出眾;熬不過,出局 大家好,我是柒八九。一個專注于前端開發技術/Rust及AI應用知識分享的Coder 此篇文章所涉及到的技術有 Rustwasm-bindgen/js-sys/web-sysWeb WorkerWebAssemblyWebpack/Vite配置WebAssemblyOffscreenCanvas腳手架生成項…

校園二手書交易|基于SprinBoot+vue的校園二手書交易管理系統(源碼+數據庫+文檔)

校園二手書交易管理系統 目錄 基于SprinBootvue的校園二手書交易管理系統 一、前言 二、系統設計 三、系統功能設計 1系統功能模塊 2管理員功能模塊 3 賣家用戶功能模塊 4 用戶功能模塊 四、數據庫設計 五、核心代碼 六、論文參考 七、最新計算機畢設選題推薦 八…

Linux:iptables防火墻部署優化之連接轉移(目的地地址轉化)

Linux&#xff1a;iptables防火墻部署優化之連接轉移&#xff08;目的地地址轉化&#xff09; 文章目錄 Linux&#xff1a;iptables防火墻部署優化之連接轉移&#xff08;目的地地址轉化&#xff09;node1操作檢測ip情況關閉firewalld防火墻服務&#xff0c;并鎖定該服務開啟ip…

什么是分布式會話

分布式會話是指在分布式系統中實現用戶會話管理的一種機制。在傳統的單服務器架構中&#xff0c;用戶的會話數據通常存儲在單個服務器或應用服務器的內存中。然而&#xff0c;隨著業務的發展和用戶量的增加&#xff0c;單服務器架構往往無法滿足高可用性和高并發的需求&#xf…