自動(dòng)獲得map里key類型如何給map的key值排序?-創(chuàng)新互聯(lián)

如何給map的key值排序?在C中,map是一種常見且易于使用的數(shù)據(jù)結(jié)構(gòu)。映射是按鍵自動(dòng)排序的,但有時(shí)我們需要按每個(gè)元素的值對映射進(jìn)行排序。因?yàn)镾TL的sort函數(shù)不支持按值對地圖排序,所以我們只能考慮另一種方法。自動(dòng)獲得map里key類型 如何
給map的key值排序?

這是一種非常方便的使用Multimap的方法。Multimap與map類似,每個(gè)元素分為兩部分:鍵和值。類似地,Multimap將根據(jù)鍵自動(dòng)排序。區(qū)別在于map中的key不允許重復(fù),而Multimap允許key重復(fù)。通過將映射中的鍵和值傳遞到Multimap,可以按值對映射進(jìn)行排序。

創(chuàng)新互聯(lián)建站于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元普寧做網(wǎng)站,已為上家服務(wù),為普寧各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

代碼如下所示:

Map<char,int>CNT,Multimap<int,char>ucntfor(Map<char,int>::iteratoritr=cnt.開始()它!=控制端()itr){ucnt.插入(pair<int,char>(ITR->second,ITR->first))}

LinkedHashMap中有一個(gè)模擬的“雙向循環(huán)列表”,用于保存條目的插入順序。我也可以用這個(gè)方法保存插入時(shí)鍵和值的順序。它暫定名為orderedhashmap。主代碼是從LinkedHashMap復(fù)制的。它還維護(hù)兩個(gè)模擬的“雙向循環(huán)鏈表”:keyheader和valueheader,保持鍵或值從小到大的順序。當(dāng)一個(gè)元素被放入時(shí),除了將它存儲(chǔ)在hashbucket中之外,還應(yīng)該根據(jù)鍵的大小將它插入keyheader中,并根據(jù)值的順序?qū)⑺迦雟alueheader中。如果您想輸出,您可以從這兩個(gè)“頭指針”向前或向后迭代,以獲得鍵或值的有序條目。(可以實(shí)現(xiàn)正負(fù)順序的鍵和值的輸出,只比較數(shù)值型,如果不是數(shù)值型,可以按HashMap正常處理)。下面是測試結(jié)果:值按相反順序輸出java代碼orderhashmap

分享題目:自動(dòng)獲得map里key類型如何給map的key值排序?-創(chuàng)新互聯(lián)
文章路徑:http://muchs.cn/article22/cdcijc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)手機(jī)網(wǎng)站建設(shè)、用戶體驗(yàn)搜索引擎優(yōu)化、動(dòng)態(tài)網(wǎng)站網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)