成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何用Perl關聯(lián)數組創(chuàng)建數據結構

開發(fā) 架構
Perl關聯(lián)數組有很多值得學習的地方,那么你對用Perl關聯(lián)數組創(chuàng)建數據結構的方法是否了解,這里就向大家簡單介紹一下,希望本文介紹能讓你有所收獲。

本文和大家重點討論一下Perl關聯(lián)數組的應用問題,如何用Perl關聯(lián)數組創(chuàng)建數據結構,用Perl關聯(lián)數組可以模擬在其它高級語言中常見的多種數據結構,本節(jié)講述如何用之實現:鏈表、結構和樹。

用Perl關聯(lián)數組創(chuàng)建數據結構

用Perl關聯(lián)數組可以模擬在其它高級語言中常見的多種數據結構,本節(jié)講述如何用之實現:鏈表、結構和樹。

1、(單)鏈表

鏈表是一種比較簡單的數據結構,可以按一定的次序存貯值。每個元素含有兩個域,一個是值,一個是引用(或稱指針),指向鏈表中下一個元素。一個特殊的頭指針指向鏈表的***個元素。
在Perl中,鏈表很容易用Perl關聯(lián)數組實現,因為一個元素的值可以作為下一個元素的索引。下例為按字母順序排列的單詞鏈表:

  1. %words=("abel","baker",  
  2. "baker","charlie",  
  3. "charlie","delta",  
  4. "delta","");  
  5. $header="abel";  
  6.  

 

下標為delta的***一個元素的值為空串,表示鏈表的結束。在將要處理的數據個數未知或其隨程序運行而增長的情況下,鏈表十分有用。
此程序分為三個部分:

◆主程序:讀取輸入并轉換到相應的格式。
◆子程序:add_word_to_list,建立排序單詞鏈表。
◆子程序:print_list,輸出單詞鏈表

第3~17行為主程序,第4行初始化鏈表,將表頭變量$header設為空串,第5行起的循環(huán)每次讀取一行輸入,第7行去掉頭、尾的空格,第8行將句子分割成單詞。9~15行的內循環(huán)每次處理一個單詞,如果該單詞的***一個字符是標點符號,就去掉。第13行把單詞轉換成全小寫形式,第14行傳遞給子程序add_word_to_list。
子程序add_word_to_list先在第24行處檢查鏈表是否為空。如果是,第25行將單詞賦給$header,26行創(chuàng)建鏈表***個元素,存貯在Perl關聯(lián)數組%wordlist中。如果鏈表非空,37行檢查***個元素是否與該單詞相同,如果相同,就立刻返回。下一步檢查這一新單詞是否應該為鏈表***個元素,即其按字母順序先于$header。
如果是這樣,則:

1、創(chuàng)建一個新元素,下標為該新單詞,其值為原***個單詞。
2、該新單詞賦給$header。

如果該新單詞不該為***個元素,則40~44行利用局域變量$pointer尋找其合適的有效位置,41~44行循環(huán)到$wordlist{$pointer}大于或等于$word為止。接下來46行查看該單詞是否已在鏈表中,如果在就返回,否則47~48行將其添加到鏈表中。首先47行創(chuàng)建新元素$wordlist{$word},其值為$wordlist{$pointer},這時$wordlist{$word}和$wordlist{$pointer}指向同一個單詞。然后,48行將$wordlist{$pointer}的值賦為$word,即將$wordlist{$pointer}指向剛創(chuàng)建的新元素$wordlist{$word}。

***當處理完畢后,子程序print_list()依次輸出鏈表,局域變量$pointer含有正在輸出的值,$wordlist{$pointer}為下一個要輸出的值。
注:一般不需要用鏈表來做這些工作,用sort()和keys()在Perl關聯(lián)數組中循環(huán)就足夠了,如:
foreach$word(sortkeys(%wordlist)){
#printthesortedlist,orwhatever}
但是,這里涉及的指針的概念在其它數據結構中很有意義。

【編輯推薦】

  1. Perl關聯(lián)數組用法集錦
  2. Perl文件句柄概念詳解
  3. Perl關聯(lián)數組用法詳解
  4. Perl模式匹配經驗總結
  5. 術語匯編 Perl變量中Perl關聯(lián)數組用法解析
責任編輯:佚名 來源: csdn.net
相關推薦

2010-07-16 10:30:10

Perl關聯(lián)數組

2010-07-16 10:20:46

Perl關聯(lián)數組

2010-07-19 09:28:37

Perl關聯(lián)數組

2010-07-13 09:58:51

Perl關聯(lián)數組

2010-07-19 15:31:10

Perl關聯(lián)數組函數

2010-07-13 13:27:13

Perl復雜數據結構

2009-11-24 19:40:07

PHP關聯(lián)數組查詢結果

2009-11-17 17:07:01

PHP關聯(lián)數組

2009-11-24 19:25:32

PHP關聯(lián)數組

2010-12-15 09:10:01

PHP關聯(lián)數組

2023-03-28 07:44:23

數據結構數組

2010-07-13 16:20:21

Perl 哈希表

2010-07-16 13:50:53

Perl哈希表

2010-07-21 13:53:07

Perl引用

2022-08-16 15:05:55

Neo4j圖數據庫大數據

2009-06-23 16:53:53

語義網Web3.0關聯(lián)數據

2010-07-13 09:23:00

Perl變量

2010-07-26 16:54:15

Perl引用

2021-06-26 07:29:42

RedisHashtable數據

2010-07-21 13:59:59

Perl引用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 婷婷丁香综合网 | 欧美精品久久久久 | 免费福利视频一区二区三区 | 日韩中文字幕在线视频观看 | 中文字幕av亚洲精品一部二部 | 精品久久香蕉国产线看观看亚洲 | 91视频亚洲 | 精品国产乱码一区二区三 | 亚洲综合色视频在线观看 | 免费黄色日本 | 欧美一区二区三区 | 国产精品久久久久久久7电影 | 国产欧美视频一区二区三区 | 欧美在线| 成人在线影视 | 亚洲精品国产成人 | 国产激情91久久精品导航 | 天天玩夜夜操 | 日本在线中文 | 黄色三级在线播放 | 日本一级淫片免费啪啪3 | 欧美一级片| 国产成人精品一区二区三区在线 | 1区2区视频 | 色综合久久天天综合网 | 欧美成年网站 | 成人福利在线视频 | 国产女人与拘做视频免费 | 一区二区三区av | 日韩av成人在线 | 日韩av电影在线观看 | 成人激情视频 | 国产综合在线视频 | 久久综合婷婷 | 国产成人综合在线 | 久久精品国产免费一区二区三区 | 91国内精品久久 | 酒色成人网 | 亚洲精品一区中文字幕乱码 | 国产视频久久久久 | 久久久激情 |