c 實現的木葉忍者村管理

2021-10-06 23:42:53 字數 2166 閱讀 6116

那是乙個遙遠的小山村:

這一天,學院的老師需要對各位小忍者的資訊進行根據名字,年齡,戰鬥力進行錄入,並有效查詢出某個戰鬥力段的最大的那位忍者,於是他求助聰明的我hhh

首先,如果我們採用普通的陣列或者vector進行增改,雖然vector在尾部進行插入時候的時間複雜度低,但是要是有那麼一天

忍者村放開二胎政策

那忍者學校學生肯定刷刷shau地漲那麼它呢能要跑一天一夜(對),於是,我們用到了multimap函式;

標頭檔案是

#include

multimap和map一樣,他們的資料都是pair的物件既:pair(key,t,less(n))
其中map和mutimap的first和second分別對應key型別和t型別,都是可以被我指定的資料型別,less()不寫就是預設的公升序排序;

考慮到學院裡可能存在相同戰鬥力或者相同名字的忍者,所以現在把刀架在我們脖子上叫我們用multimap(滑稽)//因為map不支援插入相同的key型別的資料

考慮到pair物件裡只能有key和t型別的資料,所以我們要建立乙個t型別的結構體,內包含了小忍者的名字和編號

struct cn

;

寫在類裡面就是:

class

make_wood

; cn cc;

//要先定義乙個

};

定義乙個multimap模板(就是可以省得寫那麼多):

typedef multimap<

int,make_wood::cn> cub;

//multimap允許存在key相同的插入

先大概介紹下程式的功能,當老師輸入:i(insert)時,就是對容器增加忍者的資料分別是,名字,編號,戰鬥力;

當老師輸入s(search)時,然後老師輸入戰鬥力,找出低於這個戰鬥力的最大戰鬥裡的最大編號的忍者的資訊(好繞hhh)

有必要說一下的就是,對multimap插入pair的資料的方式是:

ninja.

insert

(cub::

value_type

(info.combat,info.cc));

//這裡可以換成:

//make_pair(info.combat,info.cc);以為,make_pair是pair內部的方法

這裡的ninja表示忍者(multimap的物件)而multimap裡有value_type的方法

#include

#include

#include

using

namespace std;

//木葉村戰力排行榜 ,戰力資訊,代號,姓名

class

make_wood

; cn cc;

//要先定義乙個};

typedef multimap<

int,make_wood::cn> cub;

//multimap允許存在key相同的插入

intmain()

else

if(i==

"s")

//這裡的查詢是查比這個戰鬥力小的最大的那個的最大的學號的名字

}//因為迴圈到it==ninja.begin()結束,所以當it和它相等時候沒有進行比較

//so

if(it-

>first==com)

} cout<<

"忍者名稱:"

<

>second.name<<

"忍者編號:"

<

>second.number<<

"忍者戰鬥力:"

<

>first<

}else

continue;}

}return0;

}

執行結果:

C 實現管理系統

inkmacsystemfont,helvetica neue pingfang sc hiragino sans gb microsoft yahei arial font size 12px white space normal background color rgb 255,255,255 ...

C 實現的簡單記憶體管理

當系統中需要大量的頻繁分配釋放記憶體,且對資料處理時間存在較高要求時,可以採用預分配記憶體,然後自行管理的方式。下面是一種簡單的實現方式,只能分配定長陣列而且不支援併發訪問。使用陣列作為載體,每個陣列都為乙個記憶體結構,使用時查詢未被使用的記憶體結構獲取其引用。所使用的記憶體長度全部固定,適用於定長...

C 實現 超市管理系統

侵刪 非原創,自己碼的。計算顧客購買商品的價錢 public double getmoney productbase products return money using system using system.collections.generic using system.linq using...