亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言

c語言中map的基本用法

時間:2024-10-28 14:17:48 C語言 我要投稿
  • 相關(guān)推薦

c語言中map的基本用法

  C++中map容器提供一個鍵值對容器,map與multimap差別僅僅在于multiple允許一個鍵對應(yīng)多個值。下面小編給大家整理了c語言中map的基本用法,供大家參閱。

  一、map基本用法

  1. 頭文件

  復(fù)制代碼 代碼如下:

  #include

  2. 定義

  復(fù)制代碼 代碼如下:

  map my_Map; //注意這里的int和int可以是其他類型

  或者是

  復(fù)制代碼 代碼如下:

  typedef map MY_MAP;

  MY_MAP my_Map;

  3. 插入數(shù)據(jù)

  (1) my_Map[1] = 1;

  (2) my_Map.(map::value_type(2,2));

  (3) my_Map.(pair(3,3));

  (4) my_Map.(make_pair(4,4));

  4. 查找數(shù)據(jù)和修改數(shù)據(jù)

  (1)

  復(fù)制代碼 代碼如下:

  int i = my_Map[1];

  my_Map[1] = i;

  (2)

  復(fù)制代碼 代碼如下:

  MY_MAP::iterator my_Itr;

  my_Itr.find(2);

  int j = my_Itr->second;

  my_Itr->second = j;

  注意:

  A.鍵本身是不能被修改的,除非刪除。

  B.不管鍵存不存在,比如my_Map[1] = i;,都會執(zhí)行賦值操作。

  5. 刪除數(shù)據(jù)

  (1) my_Map.erase(my_Itr);

  (2) my_Map.erase(3);

  6. 遍歷數(shù)據(jù)

  復(fù)制代碼 代碼如下:

  for(my_Itr=my_Map.begin();my_Itr!=my_Map.end();++my_Itr){}

  7. 其它方法

  my_Map.size() :返回元素數(shù)目

  my_Map.empty():判斷是否為空

  my_Map.clear() :清空所有元素

  二、嵌套用法

  1.示例如下:

  復(fù)制代碼 代碼如下:

  map >multiMap; //對于這樣的map嵌套定義,

  map temp; //定義一個map變量,對其定義后在插入multiMap

  temp[9] = 9;

  temp[10] = 10;

  multiMap[10] = temp;

  multiMap[10][11]=11;

  multiMap[5][30]=30;

  map >::iterator multitr; // 以下是如何遍歷本multiMap

  map::iterator intertr;

  for(multitr=multiMap.begin();multitr!=multiMap.end();multitr++)

  {

  for(intertr= multitr ->second.begin(); intertr != multitr ->second.end(); intertr ++)

  cout<< multitr ->first<<" "

  }

  2.也可以這樣:

  復(fù)制代碼 代碼如下:

  map* >multiMap;

  map* temp = new map;

  multiMap[10]=temp;

  這樣動態(tài)new內(nèi)存,就要記得,否則會有內(nèi)存泄露,如下:

  復(fù)制代碼 代碼如下:

  map* temp1;

  for(multitr=multiMap.begin();multitr!=multiMap.end();multitr++)

  {

  temp1 = multitr ->second;

  temp1;

  temp1 = NULL;

  }

  擴展:C語言優(yōu)缺點

  1. 簡潔緊湊、靈活方便

  C語言一共只有32個關(guān)鍵字,9種控制語句,程序書寫形式自由,主要用小寫字母表示。它把高級語言的基本結(jié)構(gòu)和語句與低級語言的實用性結(jié)合起來。 C 語言可以像匯編語言一樣對位、字節(jié)和地址進(jìn)行操作,而這三者是計算機最基本的工作單元。

  2. 運算符豐富

  C語言的運算符包含的范圍很廣泛,共有34種運算符。C語言把括號、賦值、強制類型轉(zhuǎn)換等都作為運算符處理。從而使C語言的運算類型極其豐富,表達(dá)式類型多樣化。靈活使用各種運算符可以實現(xiàn)在其它高級語言中難以實現(xiàn)的運算。

  3. 數(shù)據(jù)結(jié)構(gòu)豐富

  C語言的數(shù)據(jù)類型有:整型、實型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能用來實現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)的運算。并引入了指針概念,使程序效率更高。另外C語言具有強大的圖形功能,支持多種顯示器和驅(qū)動器。且計算功能、邏輯判斷功能強大。

  4. C是結(jié)構(gòu)式語言

  結(jié)構(gòu)式語言的顯著特點是代碼及數(shù)據(jù)的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦,便于使用、維護(hù)以及調(diào)試。C語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。

  5.C語法限制

  C語法限制不太嚴(yán)格,程序設(shè)計自由度大 雖然C語言也是強類型語言,但它的語法比較靈活,允許程序編寫者有較大的自由度

  6. C語言允許直接訪問物理地址,可以直接對硬件進(jìn)行操作

  由于C語言允許直接訪問物理地址,可以直接對硬件進(jìn)行

  c語言的基本特性

  1、高級語言:

  它是把高級語言的基本結(jié)構(gòu)和語句與低級語言的實用性結(jié)合起來的工作單元。

  2、結(jié)構(gòu)式語言:

  結(jié)構(gòu)式語言的顯著特點是代碼及數(shù)據(jù)的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦阌谑褂、維護(hù)以及調(diào)試。

  C 語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。

  3、代碼級別的跨平臺:

  由于標(biāo)準(zhǔn)的存在,使得幾乎同樣的C代碼可用于多種操作系統(tǒng),如Windows、DOS、UNIX等等;也適用于多種機型。C語言對編寫需要進(jìn)行硬件操作的場合,優(yōu)于其它高級語言。

  4、使用指針:

  可以直接進(jìn)行靠近硬件的操作,但是C的指針操作不做保護(hù),也給它帶來了很多不安全的因素。C++在這方面做了改進(jìn),在保留了指針操作的同時又增強了安全性,受到了一些用戶的支持,但是,由于這些改進(jìn)增加語言的復(fù)雜度,也為另一部分所詬病。

  Java則吸取了C++的教訓(xùn),取消了指針操作,也取消了C++改進(jìn)中一些備受爭議的地方,在安全性和適合性方面均取得良好的效果,但其本身解釋在虛擬機中運行,運行效率低于C++/C。一般而言,C,C++,java被視為同一系的語言,它們長期占據(jù)著程序使用榜的前三名。

【c語言中map的基本用法】相關(guān)文章:

C語言中strpbr()函數(shù)的用法07-25

c語言中time函數(shù)的用法08-27

C語言中volatile的含義08-14

C 語言中宏的使用08-02

C語言中的鏈接編寫05-26

html語言中URL的用法06-20

php語言中session用法07-02

C語言中指針的概念03-16

c語言中邏輯或怎么用07-05

C語言中內(nèi)存分配問題09-13