C++ 標準庫 vector list map使用方法

[cpp] view plaincopy
  1. List(鏈表)??
List將元素按順序儲存在鏈表中. 與 向量(vectors)相比, 它允許快速的插入和刪除,但是隨機訪問卻比較慢.

list對象函數

assign() 給list賦值?
back() 返回最后一個元素?
begin() 返回指向第一個元素的迭代器?
clear() 刪除所有元素?
empty() 如果list是空的則返回true?
end() 返回末尾的迭代器?
erase() 刪除一個元素?
front() 返回第一個元素?
get_allocator() 返回list的配置器?
insert() 插入一個元素到list中?
max_size() 返回list能容納的最大元素數量?
merge() 合并兩個list?
pop_back() 刪除最后一個元素?
pop_front() 刪除第一個元素?
push_back() 在list的末尾添加一個元素?
push_front() 在list的頭部添加一個元素?
rbegin() 返回指向第一個元素的逆向迭代器?
remove() 從list刪除元素?
remove_if() 按指定條件刪除元素?
rend() 指向list末尾的逆向迭代器?
resize() 改變list的大小?
reverse() 把list的元素倒轉?
size() 返回list中的元素個數?
sort() 給list排序?
splice() 合并兩個list?
swap() 交換兩個list?
unique() 刪除list中重復的元素

List實例代碼

[cpp] view plaincopy
  1. #include?<iostream>??
  2. #include?<list>??
  3. #include?<numeric>??
  4. #include?<algorithm>??
  5. ??
  6. using?namespace?std;??
  7. ??
  8. //創建一個list容器的實例LISTINT??
  9. typedef?list<int>?LISTINT;??
  10. ??
  11. //創建一個list容器的實例LISTCHAR??
  12. typedef?list<char>?LISTCHAR;??
  13. ??
  14. int?main(void)??
  15. {??
  16. ????//--------------------------??
  17. ????//用list容器處理整型數據??
  18. ????//--------------------------??
  19. ????//用LISTINT創建一個名為listOne的list對象??
  20. ????LISTINT?listOne;??
  21. ????//聲明i為迭代器??
  22. ????LISTINT::iterator?i;??
  23. ??
  24. ????//從前面向listOne容器中添加數據??
  25. ????listOne.push_front?(2);??
  26. ????listOne.push_front?(1);??
  27. ??
  28. ????//從后面向listOne容器中添加數據??
  29. ????listOne.push_back?(3);??
  30. ????listOne.push_back?(4);??
  31. ??
  32. ????//從前向后顯示listOne中的數據??
  33. ????cout<<"listOne.begin()---?listOne.end():"<<endl;??
  34. ????for?(i?=?listOne.begin();?i?!=?listOne.end();?++i)??
  35. ????????cout?<<?*i?<<?"?";??
  36. ????cout?<<?endl;??
  37. ??
  38. ????//從后向后顯示listOne中的數據??
  39. ????LISTINT::reverse_iterator?ir;??
  40. ????cout<<"listOne.rbegin()---listOne.rend():"<<endl;??
  41. ????for?(ir?=listOne.rbegin();?ir!=listOne.rend();ir++)?{??
  42. ????????cout?<<?*ir?<<?"?";??
  43. ????}??
  44. ????cout?<<?endl;??
  45. ??
  46. ????//使用STL的accumulate(累加)算法??
  47. ????int?result?=?accumulate(listOne.begin(),?listOne.end(),0);??
  48. ????cout<<"Sum="<<result<<endl;??
  49. ????cout<<"------------------"<<endl;??
  50. ??
  51. ????//--------------------------??
  52. ????//用list容器處理字符型數據??
  53. ????//--------------------------??
  54. ??
  55. ????//用LISTCHAR創建一個名為listOne的list對象??
  56. ????LISTCHAR?listTwo;??
  57. ????//聲明i為迭代器??
  58. ????LISTCHAR::iterator?j;??
  59. ??
  60. ????//從前面向listTwo容器中添加數據??
  61. ????listTwo.push_front?('A');??
  62. ????listTwo.push_front?('B');??
  63. ??
  64. ????//從后面向listTwo容器中添加數據??
  65. ????listTwo.push_back?('x');??
  66. ????listTwo.push_back?('y');??
  67. ??
  68. ????//從前向后顯示listTwo中的數據??
  69. ????cout<<"listTwo.begin()---listTwo.end():"<<endl;??
  70. ????for?(j?=?listTwo.begin();?j?!=?listTwo.end();?++j)??
  71. ????????cout?<<?char(*j)?<<?"?";??
  72. ????cout?<<?endl;??
  73. ??
  74. ????//使用STL的max_element算法求listTwo中的最大元素并顯示??
  75. ????j=max_element(listTwo.begin(),listTwo.end());??
  76. ????cout?<<?"The?maximum?element?in?listTwo?is:?"<<char(*j)<<endl;??
  77. ??
  78. ????return?0;??
  79. }??


vector相關用法

vector的初始化大小和賦初值
(1)vector< 類型 > 標識符 ;
(2)vector< 類型 > 標識符(最大容量) ;
(3)vector< 類型 > 標識符(最大容量,初始所有值);
vector< int > arry(5, 1);
注:定義一個大小為5的數組,并將每個值都賦為1;
int i;
for( i = 0; i < 5; i ++ )
cout << arry[i] << " ";
輸出結果為:1 1 1 1 1
同理定義其他類型的:
vector<char> arry(3, '*');
定義二維的vector:
vector< vector <int>> Arry(10, vector<int>(0));
?
使用數組對C++ Vector進行初始化
int i[10] ={1,2,3,4,5,6,7,78,8} ; ?
///第一種 ??
vector<int> vi(i+1,i+3); ///從第2個元素到第三個元素 ?
for(vector <int>::interator it = vi.begin() ;?
it != vi.end() ; it++) ?
{ ?
cout << *it <<" " ; ??
}?


?vector 的數據的存入和輸出:

[cpp] view plaincopy
  1. #include?<iostream>??
  2. #include?<vector>??
  3. #include?<algorithm>??
  4. #include?<cstdlib>??
  5. using?namespace?std;??
  6. ???
  7. int?main(void)??
  8. {??
  9. ???vector<int>?num;???//?STL中的vector容器??
  10. ???int?element;??
  11. ???
  12. ???//?從標準輸入設備讀入整數,???
  13. ???//?直到輸入的是非整型數據為止??
  14. ???while?(cin?>>?element)?????//ctrl+Z?結束輸入???
  15. ??????num.push_back(element);??
  16. ???
  17. ???//?STL中的排序算法??
  18. ???sort(vi.begin()?,?vi.end());?///?從小到大????
  19. ???reverse(vi.begin(),vi.end())?///?從大道小???
  20. ???
  21. ???
  22. ???//?將排序結果輸出到標準輸出設備??
  23. ???for?(int?i?=?0;?i?<?num.size();?i?++)??
  24. ??????cout?<<?num[i]?<<?"\n";??
  25. ???//也可以這樣做??
  26. ?????
  27. ????????
  28. ???system("pause");??
  29. ???return?0;??
  30. }??
?對于二維vector的定義。
1)定義一個10個vector元素,并對每個vector符值1-10。
[cpp] view plaincopy
  1. #include<stdio.h>??
  2. #include<vector>??
  3. #include?<iostream>??
  4. using?namespace?std;??
  5. int?main()??
  6. {??
  7. ?int?i?=?0,?j?=?0;??
  8. //定義一個二維的動態數組,有10行,每一行是一個用一個vector存儲這一行的數據。??
  9. 所?以每一行的長度是可以變化的。之所以用到vector<int>(0)是對vector初始化,否則不能對vector存入元素。??
  10. ?vector<?vector<int>?>?Array(?10,?vector<int>(0)?);???
  11. for(?j?=?0;?j?<?10;?j++?)??
  12. ?{??
  13. ??for?(?i?=?0;?i?<?9;?i++?)??
  14. ??{??
  15. ???Array[?j?].push_back(?i?);??
  16. ??}??
  17. ?}??
  18. ?for(?j?=?0;?j?<?10;?j++?)??
  19. ?{??
  20. ??for(?i?=?0;?i?<?Array[?j?].size();?i++?)??
  21. ??{??
  22. ???cout?<<?Array[?j?][?i?]?<<?"??";??
  23. ??}??
  24. ??cout<<?endl;??
  25. ?}??
  26. }??

定義一個行列都是變化的數組。
[cpp] view plaincopy
  1. #include<stdio.h>??
  2. #include<vector>??
  3. #include?<iostream>??
  4. using?namespace?std;??
  5. void?main()??
  6. {??
  7. ?int?i?=?0,?j?=?0;??
  8. ?vector<?vector<int>?>?Array;??
  9. ?vector<?int?>?line;??
  10. ?for(?j?=?0;?j?<?10;?j++?)??
  11. ?{??
  12. ??Array.push_back(?line?);//要對每一個vector初始化,否則不能存入元素。??
  13. ??for?(?i?=?0;?i?<?9;?i++?)??
  14. ??{??
  15. ???Array[?j?].push_back(?i?);??
  16. ??}??
  17. ?}??
  18. ?for(?j?=?0;?j?<?10;?j++?)??
  19. ?{??
  20. ??for(?i?=?0;?i?<?Array[?j?].size();?i++?)??
  21. ??{??
  22. ???cout?<<?Array[?j?][?i?]?<<?"??";??
  23. ??}??
  24. ??cout<<?endl;??
[cpp] view plaincopy
  1. <span?style="white-space:pre">??</span>return?0;??
  2. ?}??
  3. }??
使 用 vettor erase 指定元素
[cpp] view plaincopy
  1. #include?<iostream>??
  2. #include?<vector>??
  3. ??
  4. using?namespace?std;??
  5. ??
  6. int???main()??
  7. {??
  8. ????vector<int>???arr;??
  9. ????arr.push_back(6);??
  10. ????arr.push_back(8);??
  11. ????arr.push_back(3);??
  12. ????arr.push_back(8);??
  13. ??
  14. ????for(vector<int>::iterator?it=arr.begin();?it!=arr.end();?)??
  15. ????{??
  16. ????????if(*?it?==?8)??
  17. ????????{??
  18. ????????????it?=?arr.erase(it);??
  19. ????????}??
  20. ????????else??
  21. ????????{??
  22. ????????????++it;??
  23. ????????}??
  24. ????}??
  25. ??
  26. ????cout?<<?"After?remove?8:\n";??
  27. ??
  28. ????for(vector<int>::iterator?it?=?arr.begin();?it?<?arr.end();?++it)??
  29. ????{??
  30. ????????cout?<<?*?it?<<?"?";??
  31. ????}??
  32. ????cout?<<?endl;??
  33. ????return?0;??
  34. }??
附:
?1.push_back ? ?在數組的最后添加一個數據
?2.pop_back ? ? 去掉數組的最后一個數據
?3.at ? ? ? ? ? ? ? ? 得到編號位置的數據
?4.begin ? ? ? ? ? ?得到數組頭的指針
?5.end ? ? ? ? ? ? ?得到數組的最后一個單元+1的指針
?6.front ? ? ? ? 得到數組頭的引用
?7.back ? ? ? ? ? ? 得到數組的最后一個單元的引用
?8.max_size ? ? ?得到vector最大可以是多大
?9.capacity ? ? ? ?當前vector分配的大小
?10.size ? ? ? ? ? ?當前使用數據的大小
?11.resize ? ? ? ? ?改變當前使用數據的大小,如果它比當前使用的大,者填充默認值
v.resize(2*v.size, 99) 將v的容量翻倍(并把新元素的值初始化為99)
?12.reserve ? ? ? 改變當前vecotr所分配空間的大小
?13.erase ? ? ? ? ?刪除指針指向的數據項
?14.clear ? ? ? ? ? 清空當前的vector
?15.rbegin ? ? ? ? 將vector反轉后的開始指針返回(其實就是原來的end-1)
?16.rend ? ? ? ? ? 將vector反轉構的結束指針返回(其實就是原來的begin-1)
?17.empty ? ? ? ? 判斷vector是否為空
?18.swap ? ? ? ? ?與另一個vector交換數據


map用法

1、map簡介

map是一類關聯式容器。它的特點是增加和刪除節點對迭代器的影響很小,除了那個操作節點,對其他的節點都沒有什么影響。對于迭代器來說,可以修改實值,而不能修改key。

2、map的功能

自動建立Key - value的對應。key 和 value可以是任意你需要的類型。?
根據key值快速查找記錄,查找的復雜度基本是Log(N),如果有1000個記錄,最多查找10次,1,000,000個記錄,最多查找20次。?
快速插入Key - Value 記錄。?
快速刪除記錄?
根據Key 修改value記錄。?
遍歷所有記錄。?
3、使用map

使用map得包含map類所在的頭文件

#include <map> //注意,STL頭文件沒有擴展名.h

map對象是模板類,需要關鍵字和存儲對象兩個模板參數:

std:map<int, string> personnel;

這樣就定義了一個用int作為索引,并擁有相關聯的指向string的指針.

為了使用方便,可以對模板類進行一下類型定義,

typedef map<int, CString> UDT_MAP_INT_CSTRING;

UDT_MAP_INT_CSTRING enumMap;

4、在map中插入元素

改變map中的條目非常簡單,因為map類已經對[]操作符進行了重載

enumMap[1] = "One";

enumMap[2] = "Two";

.....

這樣非常直觀,但存在一個性能的問題。插入2時,先在enumMap中查找主鍵為2的項,沒發現,然后將一個新的對象插入enumMap,鍵是2,值是一個空字符串,插入完成后,將字符串賦為"Two"; 該方法會將每個值都賦為缺省值,然后再賦為顯示的值,如果元素是類對象,則開銷比較大。我們可以用以下方法來避免開銷:

enumMap.insert(map<int, CString> :: value_type(2, "Two"))

5、查找并獲取map中的元素

下標操作符給出了獲得一個值的最簡單方法:

CString tmp = enumMap[2];

但是,只有當map中有這個鍵的實例時才對,否則會自動插入一個實例,值為初始化值。

我們可以使用Find()和Count()方法來發現一個鍵是否存在。

查找map中是否包含某個關鍵字條目用find()方法,傳入的參數是要查找的key,在這里需要提到的是begin()和end()兩個成員,分別代表map對象中第一個條目和最后一個條目,這兩個數據的類型是iterator.

int nFindKey = 2; //要查找的Key

//定義一個條目變量(實際是指針)

UDT_MAP_INT_CSTRING::iterator it= enumMap.find(nFindKey);

if(it == enumMap.end()) {

//沒找到

}

else {

//找到

}

通過map對象的方法獲取的iterator數據類型是一個std::pair對象,包括兩個數據 iterator->first 和 iterator->second 分別代表關鍵字和存儲的數據

6、從map中刪除元素

移除某個map中某個條目用erase()

該成員方法的定義如下

iterator erase(iterator it); //通過一個條目對象刪除?
iterator erase(iterator first, iterator last); //刪除一個范圍?
size_type erase(const Key& key); //通過關鍵字刪除?
clear()就相當于 enumMap.erase(enumMap.begin(), enumMap.end());

C++ STL map的使用

以下是對C++中STL map的插入,查找,遍歷及刪除的例子:

[cpp] view plaincopy
  1. #include?<map>???
  2. #include?<string>???
  3. #include?<iostream>???
  4. using?namespace?std;??
  5. ??
  6. void?map_insert(map?<?string,?string?>?*mapStudent,?string?index,?string?x)???
  7. {???
  8. mapStudent->insert(map?<?string,?string?>::value_type(index,?x));???
  9. }??
  10. ??
  11. int?main(int?argc,?char?**argv)???
  12. {???
  13. char?tmp[32]?=?"";???
  14. map?<?string,?string?>?mapS;??
  15. ??
  16. //insert?element???
  17. map_insert(&mapS,?"192.168.0.128",?"xiong");???
  18. map_insert(&mapS,?"192.168.200.3",?"feng");???
  19. map_insert(&mapS,?"192.168.200.33",?"xiongfeng");??
  20. ??
  21. map?<?string,?string?>::iterator?iter;??
  22. ??
  23. cout?<<?"We?Have?Third?Element:"?<<?endl;???
  24. cout?<<?"-----------------------------"?<<?endl;??
  25. ??
  26. //find?element???
  27. iter?=?mapS.find("192.168.0.33");???
  28. if?(iter?!=?mapS.end())?{???
  29. cout?<<?"find?the?elememt"?<<?endl;???
  30. cout?<<?"It?is:"?<<?iter->second?<<?endl;???
  31. }?else?{???
  32. cout?<<?"not?find?the?element"?<<?endl;???
  33. }??
  34. ??
  35. //see?element???
  36. for?(iter?=?mapS.begin();?iter?!=?mapS.end();?iter?)?{??
  37. ??
  38. cout?<<?"|?"?<<?iter->first?<<?"?|?"?<<?iter->???
  39. second?<<?"?|"?<<?endl;??
  40. ??
  41. }???
  42. cout?<<?"-----------------------------"?<<?endl;??
  43. ??
  44. map_insert(&mapS,?"192.168.30.23",?"xf");??
  45. ??
  46. cout?<<?"After?We?Insert?One?Element:"?<<?endl;???
  47. cout?<<?"-----------------------------"?<<?endl;???
  48. for?(iter?=?mapS.begin();?iter?!=?mapS.end();?iter?)?{??
  49. ??
  50. cout?<<?"|?"?<<?iter->first?<<?"?|?"?<<?iter->???
  51. second?<<?"?|"?<<?endl;???
  52. }??
  53. ??
  54. cout?<<?"-----------------------------"?<<?endl;??
  55. ??
  56. //delete?element???
  57. iter?=?mapS.find("192.168.200.33");???
  58. if?(iter?!=?mapS.end())?{???
  59. cout?<<?"find?the?element:"?<<?iter->first?<<?endl;???
  60. cout?<<?"delete?element:"?<<?iter->first?<<?endl;???
  61. cout?<<?"================================="?<<?endl;???
  62. mapS.erase(iter);???
  63. }?else?{???
  64. cout?<<?"not?find?the?element"?<<?endl;???
  65. }???
  66. for?(iter?=?mapS.begin();?iter?!=?mapS.end();?iter?)?{??
  67. ??
  68. cout?<<?"|?"?<<?iter->first?<<?"?|?"?<<?iter->???
  69. second?<<?"?|"?<<?endl;??
  70. ??
  71. }???
  72. cout?<<?"================================="?<<?endl;??
  73. ??
  74. return?0;???
  75. }??


本文參考:

http://blog.csdn.net/lyn_bigdream/article/details/6601510

http://blog.sina.com.cn/s/blog_63a1163f0100jxr9.html

http://wmnmtm.blog.163.com/blog/static/38245714201072310131130/

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

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

相關文章

導航守衛

導航守衛 to 準備跳轉到哪個頁面 from 從哪個頁面中離開 next 函數 全局守衛 router.beforeEach((to,from,next) > {if(to.path /login || to.path /register){    next();}else{    alert(先登錄)    next(/login)} }) 組件守衛 data () {  return{   …

Django中使用Pagination的分頁范例源碼

將做工程過程重要的內容做個珍藏&#xff0c;下面代碼內容是關于Django中使用Pagination的分頁范例的代碼。 from django.core.paginator import Paginatorobjects [john, paul, george, ringo]p Paginator(objects, 2) p.count4p.num_pages2p.page_range[1, 2] page1 p.pag…

Docker:集裝箱式“運輸”在軟件上的實現

Docker是由PaaS提供商dotCloud在2013年年初創建的一款開源應用引擎&#xff0c;Docker可以自動將任何應用打包成輕量、可移植、自包涵的容器引擎。開發者構建的應用可以一次構建全平臺運行&#xff0c;包括本地開發機器&#xff0c;生產環境&#xff0c;虛擬機和云等。 Docker基…

CAMP選股

挑選五只股票&#xff1a;萬科A、中國平安、貴州茅臺、萬華化學和科大訊飛&#xff0c;然后我們以滬深300作為市場基準。import pandas as pd import tushare as ts # 獲取數據 pro ts.pro_api() wanke pro.daily(ts_code000002.SZ, start_date20170101) pingan pro.daily(t…

大二下周總結(三)

記錄時間第三周所花時間&#xff08;包括上課&#xff09;13h代碼行500博客量2所了解到的知識點html java-script java本周用在練習代碼的時間自己感覺還可以&#xff0c;由于在第二周課堂練習后覺得自己有許多不足&#xff0c;所以有了必須奮進的壓力。 除了編寫代碼能力的提高…

C讀寫ini文件

/* read/write ini file with c function file testini.c chinayaosir blog: http://blog.csdn.net/chinayaosir connect.ini [database] 此程序有些BUG 當ini文件不存在時&#xff0c;第一次建立connect.ini文件時&#xff0c; 在[database]前面會多一個空格. */ #include…

包含天,時,分,秒的倒計時

這個很基礎的東西寫的過程中出了很多小的錯誤&#xff0c;在此記錄一下。 原生的js。 結構&#xff1a; <p id"time"></p> js: <script>  var start new Date().getTime(); // 獲取開始時間  var end new Dat…

計算相關度

# 使用numpy import numpy as np R [0.01, 0.05, 0.02, -0.03] var1 np.var(R) std1 np.std(R) # # 使用pandas import pandas as pd R pd.Series([0.01, 0.05, 0.02, -0.03]) var2 R.var() std2 R.std() import pandas as pd import tushare as ts pro ts.pro_api() w…

如何使用Dockerfile構建鏡像

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Dockfile是一種被Docker程序解釋的腳本&#xff0c;Dockerfile由一條一條的指令組成&#xff0c;每條指令對應Linux下面的一條命令。Doc…

今時今日,C還適合當下之所需么?

本文來源于我在InfoQ中文站翻譯的文章&#xff0c;原文地址是&#xff1a;http://www.infoq.com/cn/news/2013/01/C-Language 來自Couchbase的Damien Katz認為C依然是非常適合于后端編程的一門語言&#xff0c;然而有的開發者則覺得C有太多的瑕疵&#xff0c;他們支持C或是Java…

《吳軍.科技史綱60講》摘錄

本文由Markdown語法編輯器編輯完成&#xff0e; 《科技史綱60講》是吳軍老師最新開設的專欄名稱&#xff0c;該專欄主要是講解人類文明和科技發展史。吳軍老師在專欄的發刊詞《歷史總在重演&#xff0c;科技永遠向前》中提到&#xff0c;能量和信息是貫穿人類文明發展的兩條線索…

API Gateway——KONG簡單入門

一、簡介 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Kong&#xff0c;是由Mashape公司開源的&#xff0c;基于Nginx的API gateway。 二、特點 可擴展&#xff1a;支持分布式 模塊化…

小程序 公眾號/h5相互跳轉-webview

小程序與h5的跳轉 前提小程序管理后臺配置域名白名單&#xff0c;并且h5頁面是嵌在小程序里面&#xff08;相互跳的前提條件&#xff09; 在業務域名中設置好訪問的h5地址 微信官方web-view 介紹地址 https://developers.weixin.qq.com/miniprogram/dev/component/web-view.ht…

十、eclipse快捷鍵大全

eclipse快捷鍵大全轉載于:https://www.cnblogs.com/zheaven/p/10541531.html

如何保證代碼的高質量?

代碼的高質量是軟件的靈魂&#xff0c;代碼 數據結構 算法&#xff0c; 而高質量的代碼 優良的變量、函數命名 優良的代碼結構、代碼層次結構 數據結構 算法。 時時刻刻想這上面的四點&#xff0c;你的代碼就會漸漸的上新臺階&#xff0c;老板不給你加工資還…

centos6.5 安裝 kong 網關

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 最近要求了解下kong網關&#xff0c;然后在網上一頓找&#xff0c;說實話&#xff0c;度娘的力量還是不行啊&#xff0c;找出來的那些跟…

lucene學習的小結

pom.xml設置 <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency><groupId>org.apache.lucene</groupId&…

并行計算的專訪

摘要&#xff1a;社區之星第9期采訪的嘉賓是香港浸會大學計算機在讀博士、浪潮高性能計算顧問趙開勇。此次他為我們揭開了高性能計算的神秘面紗&#xff0c;為讀者講解自己的經驗心得。并且他認為基于移動設備的高性能計算將會成為未來潮流&#xff0c;低功耗、高性能也將成為一…

CentOS6.5 搭建 LNMP (linux + nginx + mysql + php)

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1&#xff1a;查看環境&#xff1a; 12[root10-4-14-168 html]# cat /etc/redhat-releaseCentOS release 6.5 (Final)2&#xff1a;關掉…

正睿2019省選附加賽 Day10 (這篇其實已經都咕咕了...)

目錄 2019.3.13A.算算算(二項式定理 斯特林數)B.買買買C.樹樹樹2019.3.13比賽鏈接 A.算算算(二項式定理 斯特林數) 題目鏈接 \(x^k\)可以用二項式定理展開&#xff0c;需要維護的就是\(0\sim k\)次方的\(\sum_{j}F(j,i)\)。加入一個數時&#xff0c;每一項都要再用一遍二項式定…