锘??xml version="1.0" encoding="utf-8" standalone="yes"?>const int VMAX = 1010;
typedef struct Graph
{
int vex;
Graph* next;
}Graph;
Graph ArcGraph[VMAX];
void insert(int u, int v)
{
Graph* t = new Graph;
Graph* p = ArcGraph[u].next;
t->vex = v;
t->next = p;
ArcGraph[u].next = t;
}
瀹屾垚瀹屾暣鐨勭▼搴忔彁浜や笂鍘伙紝寰楀埌緇撴灉
Memory:25796K Time:375MS
Language:C++ Result:Accepted
鍐嶅姣斿埆浜虹殑紼嬪簭
Memory:296K Time:109MS
鏃犺鏄椂闂磋繕鏄┖闂撮兘鐩稿樊寰堝ぇ銆?br>浜庢槸灝辮冭檻鎬庝箞浼樺寲鑷繁鐨勭▼搴忋?br>絎竴涓棶棰橈細瑙勬ā鍙湁1000錛屼負浠涔堜細鐢ㄩ偅涔堝鍐呭瓨鍛紵
浠旂粏涓鎯蟲暟鎹槸澶歝ase鐨勶紝姣忔鎻掑叆鏂拌妭鐐規椂閮借鍔ㄦ佸垱寤轟竴涓妭鐐廣?br>涓鏉ュ姩鎬佸垱寤鴻楁椂闂達紝浜屾潵姣忎釜case緇撴潫鐨勯偦鎺ヨ〃涓殑鑺傜偣娌℃湁閲婃斁錛屾晠鑰楄垂澶ч噺鍐呭瓨銆?br>鐒跺悗灝辨兂鍒頒簡涓嬮潰鐨勭畻娉曪紝棣栧厛鍒濆鍖栦竴鍧楀唴瀛楪raph use[100*VMAX];榪欐牱姣忔闇瑕佹柊鑺傜偣鏃訛紝
灝變粠use涓幏鍙栥傚鏋渦se浣跨敤瀹屾瘯灝卞啀鍔ㄦ佸垱寤恒?br>
渚濇綆楁硶浼樺寲鍚庯紝寰楀埌鐨勭粨鏋滄瘮杈冩弧鎰?br>Memory:1000K Time:218MS
Language:C++ Result:Acceptedconst int VMAX = 1010;
typedef struct Graph
{
int vex;
Graph* next;
}Graph;
Graph ArcGraph[VMAX];
Graph use[100*VMAX];
int size = 0;
void insert(int u, int v)
{
Graph* t;
if(size < 100*VMAX)
{
t = &use[size];
size++;
}
else t = new Graph;
Graph* p = ArcGraph[u].next;
t->vex = v;
t->next = p;
ArcGraph[u].next = t;
}
]]>#include<iostream>
#include<bitset>
using Namespace stdnamespace std;
const int n = 4;
int main()
{
for(int i = 0; i < (1 << n); i++)
{
bitset<n> bit(i);
for(int j = bit.size() - 1; j >= 0; j--)
cout<<bit[j];
cout<<endl;
}
return 0;
}
i浠?鍒?^n - 1,
鎶婂畠鎹㈢畻鎴愪簩榪涘埗灝卞垎鍒搴斾竴涓瓙闆嗐?
]]>#include<iostream>
using Namespace stdnamespace std;
const int n = 4;
int x[n];
//鍥炴函娉?br>
void backtrack(int t)
{
if(t >= n)
{
for(int i = 0; i < n; i++)
cout<<x[i];
cout<<endl;
}
else
{
for(int i = 0; i <= 1; i++)
{
x[t] = i;
backtrack(t + 1);
}
}
}
//浣嶈繍綆?br>
void bitOperate()
{
for(int i = 0; i < (1 << n); i++)
{
for(int j = 0; j < n; j++)
{
if( (i & (1 << j) ) == 0)
x[j] = 0;
else
x[j] = 1;
}
for(int j = 0; j < n; j++)
cout<<x[j];
cout<<endl;
}
}
int main()
{
backtrack(0);
cout<<endl;
bitOperate();
return 0;
}
]]>#include<iostream>
#include<string>
using Namespace stdnamespace std;
const int MAXN = 9973; //鍝堝笇琛ㄩ暱搴?br>
const int len = 30; //瀛楃涓茬殑鏈澶ч暱搴?br>
int Htable[MAX];
char ch[MAX][len]; //瀛樺偍鍏抽敭瀛楃殑瀛楃涓?br>
unsigned long Hash(char * key)
{
unsigned long h = 0;
while(*key)
{
h = (h << 4) + *key++;
unsigned long g = h & 0xf0000000L;
if(g)
h ^= g >> 24;
h &= ~g;
}
return h % MAX;
}
int search(char * key)
{
unsigned long i = Hash(key);
while(Htable[i])
{
if(strcmp(ch[Htable[i]], key) == 0)
return i;
i = (i + 1) % MAX;
}
return -1;
}
int insert(char * key, int j) //j涓哄叧閿瓧鍦╟h涓殑浣嶇疆錛屽嵆绱㈠紩
{
unsigned long i = Hash(key);
while(Htable[i])
i = (i + 1) % MAX;
Htable[i] = j;
return i;
}
]]>
閫氳繃<鎿嶄綔絎﹀彲鐭ュ湪鏁存暟涓厓绱犲ぇ鐨勪紭鍏堢駭楂樸?br>鏁呯ず渚?涓緭鍑虹粨鏋滀負錛? 6 5 3 2
絎簩縐嶆柟娉曪細
鍦ㄧず渚?涓紝濡傛灉鎴戜滑瑕佹妸鍏冪礌浠庡皬鍒板ぇ杈撳嚭鎬庝箞鍔炲憿錛?br>榪欐椂鎴戜滑鍙互浼犲叆涓涓瘮杈冨嚱鏁幫紝浣跨敤functional.h鍑芥暟瀵硅薄浣滀負姣旇緝鍑芥暟銆?/p>
鍏朵腑
絎簩涓弬鏁頒負瀹瑰櫒綾誨瀷銆?br>絎簩涓弬鏁頒負姣旇緝鍑芥暟銆?br>鏁呯ず渚?涓緭鍑虹粨鏋滀負錛? 3 5 6 9
絎笁縐嶆柟娉曪細
鑷畾涔変紭鍏堢駭銆?/p>
鍦ㄨ緇撴瀯涓紝value涓哄鹼紝priority涓轟紭鍏堢駭銆?br>閫氳繃鑷畾涔塷perator<鎿嶄綔絎︽潵姣旇緝鍏冪礌涓殑浼樺厛綰с?br>鍦ㄧず渚?涓緭鍑虹粨鏋滀負錛?br>浼樺厛綰?nbsp; 鍊?br>9 5
8 2
6 1
2 3
1 4
浣嗗鏋滅粨鏋勫畾涔夊涓嬶細
鍒欎細緙栬瘧涓嶈繃錛圙++緙栬瘧鍣級
鍥犱負鏍囧噯搴撻粯璁や嬌鐢ㄥ厓绱犵被鍨嬬殑<鎿嶄綔絎︽潵紜畾瀹冧滑涔嬮棿鐨勪紭鍏堢駭鍏崇郴銆?br>鑰屼笖鑷畾涔夌被鍨嬬殑<鎿嶄綔絎︿笌>鎿嶄綔絎﹀茍鏃犵洿鎺ヨ仈緋伙紝鏁呬細緙栬瘧涓嶈繃銆?br>
//浠g爜娓呭崟
scanf()鍑芥暟鏄氱敤緇堢鏍煎紡鍖栬緭鍏ュ嚱鏁幫紝瀹冧粠鏍囧噯杈撳叆璁懼(閿洏) 璇誨彇杈撳叆鐨勪俊鎭傚彲浠ヨ鍏ヤ換浣曞浐鏈夌被鍨嬬殑鏁版嵁騫惰嚜鍔ㄦ妸鏁板煎彉鎹㈡垚閫傚綋鐨勬満鍐呮牸寮忋?/p>
鍏惰皟鐢ㄦ牸寮忎負:聽聽聽聽聽 scanf("<鏍煎紡鍖栧瓧絎︿覆>"錛?lt;鍦板潃琛?gt;);
scanf()鍑芥暟榪斿洖鎴愬姛璧嬪肩殑鏁版嵁欏規暟錛屽嚭閿欐椂鍒欒繑鍥濫OF銆?/p>
鍏舵帶鍒朵覆鐢變笁綾誨瓧絎︽瀯鎴愶細
1銆傛牸寮忓寲璇存槑絎︼紱
2銆傜┖鐧界錛?br />3銆傞潪絀虹櫧絎︼紱
錛圓錛壜犅犅犅犅犅犅犅犅犅犅犅犅犅犅?鏍煎紡鍖栬鏄庣
鏍煎紡瀛楃聽聽聽聽聽聽聽聽聽聽 璇存槑
%a聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 璇誨叆涓涓誕鐐瑰?浠匔99鏈夋晥)
%A聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鍚屼笂
%c聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 璇誨叆涓涓瓧絎?br />%d聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 璇誨叆鍗佽繘鍒舵暣鏁?br />%i聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 璇誨叆鍗佽繘鍒訛紝鍏繘鍒訛紝鍗佸叚榪涘埗鏁存暟
%o聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 璇誨叆鍏繘鍒舵暣鏁?br />%x聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 璇誨叆鍗佸叚榪涘埗鏁存暟
%X聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鍚屼笂
%c聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 璇誨叆涓涓瓧絎?br />%s聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 璇誨叆涓涓瓧絎︿覆
%f聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 璇誨叆涓涓誕鐐規暟
%F聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鍚屼笂
%e聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鍚屼笂
%E聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鍚屼笂
%g聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鍚屼笂
%G聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鍚屼笂
%p聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 璇誨叆涓涓寚閽?br />%u聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 璇誨叆涓涓棤絎﹀彿鍗佽繘鍒舵暣鏁?br />%n聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鑷蟲宸茶鍏ュ肩殑絳変環瀛楃鏁?br />%[]聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鎵弿瀛楃闆嗗悎
%%聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 璇?絎﹀彿
#include<iostream> #include<sstream> using namespace std; int main() { string str, line; while(getline(cin, line)) { istringstream stream(line); while(stream>>str) cout<<str.c_str()<<endl; } return 0; }嫻嬭瘯錛?br />input錛?br />abc聽 聽df聽聽 e聽聽聽聽聽聽聽聽聽聽聽聽聽 efgeg聽聽聽聽聽 ffg
#include<cstdlib>
#include<cstdio>
int main() { int num = 10; char str[100]; int n = atoi(itoa(num, str, 2)); printf("%d\n",n); return 0; }
鍏堟妸num杞崲涓轟簩榪涘埗鐨勫瓧絎︿覆錛屽啀鎶婅瀛楃涓茶漿鎹負鏁存暟銆?/pre>
]]>
[Andrew Koeing & Barbara MOO] Accelerated C++
Accelerated c++, Andrew Koeing & Barbara MOO, Addison Wesley, 2000
[Eckel2000] Thinking in C++
Thinking in C++ 2/e Bruce Eckel 2000 1470 pages Prentice Hall
C++ 緙栫▼鎬濇兂錛屽垬瀹楃敯絳?璇戯紝420欏?
[Lippman98] C++Primer
C++ Primer,3rd Editoin,by Stanley Lippman and Josee Lajoie
Addison Wesley Longman,1998 1237 pages
C++ Primer 涓枃鐗堬紝渚繆鏉?璇戯紝1999錛?237欏?
[Struostrup2000] The C++ Programming Language
The C++ Programming Language,Special Editoin,by Bjarne Stroustrup
Addison Wesley Longman,2000,1017 pages
[ANSI C++] C++瑙勬牸涔?1998.9.1 PDF鏍煎紡
ANSI C++ 1996 Draft
灞傜駭浜岋細涓撳緇忛獙(C++/OOP)
[Meyers96] More Effective C++
More Effective C++, by Scott Meyers,Addison Wesley,1996,318pages
More Effective C++涓枃鐗堬紝渚繆鏉幫紝鍩圭敓 2000. 318欏?
[Meyers98] Effective C++
Effective C++, Second Edition,by Scott Meyers,Addison Wesley Longman,1998.256pages
Effective C++ 2/e 涓枃鐗?渚繆鏉?鍩圭敓 2000.256欏?br />Effective C++, Third Edition, by Scott Meyers, Addison Wesley Longman.
[Sutter99] Exceptional C++
Exceptional C++錛宐y Herb Sutter,Addison Wesley Longman,2000.208pages
Exceptional C++涓枃鐗堬紝渚繆鏉?鍩圭敓 2000.248欏?
[Sutter2001]More Exceptional C++
More Exceptional C++ by Herb Sutter, Addison Wesley Longman, 2001.
[Sutter2004]Exception C++ Style
Exception C++ Style by Herb Sutter, Addison Wesley Longman, 2004.
灞傜駭涓夛細搴曞眰鏈哄埗(C++ Object Model)
[Ellis90] The Annotated C++ Reference Manual
The Annotated C++ Reference Manual,by Margaret A.Ellis and Bjarne Stroustrup
Addison Wesley Longman,1990,447 pages.
[Lippman96] Inside the C++ Object Model
Inside the C++ Object Model,by Stanley Lippman,Addison Wesley Longman,1996,280pages
娣卞害鎺㈢儲C++鐗╀歡妯″瀷錛屼警淇婃澃 璇?
灞傜駭鍥涳細璁捐瑙傚康鐨勫鐢?C++/Patterns)
[Gamma95] Design Patterns錛欵lements of Reusable Object Oriented Software,
by Erich Gamma,Richard Helm,Ralph Johnson,and John Vlissides,Addison Wesley,1995.395pages
璁捐妯″紡,鏉庤嫳鍐涚瓑璇?鏈烘宸ヤ笟鍑虹増紺?2000.254欏?
[Alex2001]Modern C++ Design: Generic Programming and Design Patterns Applied
by Andrei Alexandrescu,Addison-Wesley,2001,352Paper
Genericity/STL緋誨垪(涓庡眰綰т簩鍚屾錛?
絎竴涓鐣屾槸浣跨敤STL:
[Josuttis99]:The C++ Standard Library 錛岮 Tutorial and Reference,by Nicolai M.Josuttis,
Addison Wesley 1999.799pages
絎簩涓鐣屾槸浜嗚В娉涘瀷鎶鏈殑鍐呮兜涓嶴TL鐨勫鐞?
[Austern98]:Generic Programming and the STL -Using and Extending the C++ Standard
Template library,by Matthew H.Austern,Addison Wesley 1998.548page
絎笁涓鐣屾槸鎵╁厖STL:
[Stepanov2001]:C++ Standard Template Library by P.J.Plauger,Alexander A.Stepanov,
Meng Lee,David R.Musser,Prentice Hall 2001
鍏朵粬涔︾洰錛?br />1. Large-scale C++ software Design, John Lako, Addison Wesley, 1996
2. Effective STL, Scott Meyers, Addison Wesley, 1995
3. C++ FAQs, 2nd, Marshall Cline, Greg Lomow, Mike Girou, Addison Wesley, 1998
4. C++ Gotchas, Stephen Dewhurst, Addison Wesley, 2002
5. C++ templates, the complete Guide, Daveed Vandevoorde & Nicolar M.Josuttis, Addison Wesley, 2002
6. Standard C++ iostreams and Locals, Angelika Langer & Klaus Kreft, Addison Wesley, 2000
7. Design & Evolution of C++, BS, Addison Wesley, 1994
8. Modern C++ Design, Andrie Alexandrescu, Addison Wesley, 2001
9. Generative Programming, Krzysztof Czarnecki & Ulrich Eisencecker, Addison Wesley, 2000
10.Pattern-oriented software architecture, Vol1:A system of patterns, Frank Buschmann, 1996
11. STL 婧愮爜鍓栨瀽錛屼警鏉?br />12. C++ Coding Standards 101 Rules Guidelines, Andrie Alexandrescu & Herb Sutter, Addison Wesley, 2005
find.h #ifndef FIND_H #define FIND_H template <typename ITER , typename T> ITER find(ITER begin, ITER end, T value) { ITER it; for(it = begin; it != end; ++it) if(*it == value) break; return it; } #endif
count.h #ifndef COUNT_H #define COUNT_H template <typename ITER , typename T> int count(ITER begin, ITER end, T value) { int sum = 0; for(ITER it = begin; it != end; ++it) { if(*it == value) ++sum; } return sum; } #endif
浠ュ悗鎺ョ潃鍐欍?/pre>
]]>
鎻掑叆|鍒犻櫎浣嶇疆
/鏁堢巼
|
澶撮儴
|
涓棿
|
灝鵑儴
|
闅忔満璁塊棶
|
vector
|
浣?/font>
|
浣?/font>
|
楂?/font>
|
Yes
|
list
|
楂?/font>
|
楂?/font>
|
楂?/font>
|
No
|
deque
|
楂?/font>
|
浣?/font>
|
楂?/font>
|
Yes
|
榪欓噷浠tring綾諱負渚嬶細
1銆乻tring str1 = "";
2銆乻tring str2 = string();
3銆乻tring str3;
絎竴縐嶆柟寮忥細璋冪敤string綾繪帴鍙楀瓧絎︿覆褰㈠弬鐨勬瀯閫犲嚱鏁幫紝鍒涘緩涓涓復鏃跺璞°?br />鐒跺悗璋冪敤澶嶅埗鏋勯犲嚱鏁扮敤璇ュ璞″垵濮嬪寲str1銆?/font>
絎簩縐嶆柟寮忥細璋冪敤string綾葷殑榛樿鏋勯犲嚱鏁幫紝鍒涘緩涓涓復鏃跺璞°?br />鐒跺悗璋冪敤澶嶅埗鏋勯犲嚱鏁扮敤璇ュ璞″垵濮嬪寲str2銆?/font>
絎笁縐嶆柟寮忥細鐩存帴璋冪敤string綾葷殑榛樿鏋勯犲嚱鏁板垵濮嬪寲str3銆?/font>
鍒涘緩涓存椂瀵硅薄鐨勪唬浠鋒槸楂樼殑銆?/font>
鍥犳鍒涘緩瀵硅薄搴斿敖閲忎笉瑕佷嬌鐢ㄤ細鍒涘緩涓存椂瀵硅薄鐨勫垵濮嬪寲鏂瑰紡銆?/font>
鍦ㄤ嬌鐢ㄧ被鏃朵篃灝介噺涓嶈鍒涘緩涓存椂瀵硅薄銆?/font>
瀹冭兘鑷姩璇嗗埆鍚勭鍏抽敭瀛楋紝緋葷粺鍑芥暟錛屾垚鍛樺彉閲忥紝
鑷姩緇欏嚭杈撳叆鎻愮ず錛岃嚜鍔ㄦ洿姝eぇ灝忓啓閿欒錛?
鑷姩鏍囩ず閿欒錛岀瓑絳夌瓑絳夈?
鐢ㄤ簡瀹冿紝浣犲啓浠g爜鐨勯熷害涓瀹氬ぇ澶ф彁楂樸?
鐪嬪埌涓孌典唬鐮侊細
char *p1,*p2;
//something
if(p1!=0)strcpy(p2,p1);
濂囨紝鎸囬拡鎬庝箞鑳藉鍜?鐩告瘮鍛紵
N days later...
涓涓湁鏁堢殑鎸囬拡鏈変笁縐嶇姸鎬侊細
涓銆佷繚瀛樹竴涓壒瀹氬璞$殑鍦板潃銆?
浜屻佹寚鍚戞煇涓璞″悗闈㈢殑鍙︿竴瀵硅薄銆?
涓夈佸間負0錛岃〃鏄庡畠涓嶆寚鍚戜換浣曞璞°?
if(p1!=0)strcpy(p2,p1);
<=>
if(p1!=NULL)strcpy(p2,p1);// 榪欑褰㈠紡鏇存槗鐞嗚В銆?
NULL 鏄湪 cstdlib 澶存枃浠朵腑瀹氫箟鐨勫彉閲忥紝鍊間負0.
鎿嶄綔涓嶅瓨鍦ㄧ殑鍏冪礌錛屽:
#include<iostream>
#include<string>
using namespace std;
int main()
{
聽聽聽聽聽聽聽string str;
聽聽聽聽聽聽聽cin>>str[0];
聽聽聽聽聽聽聽cout<<str[0];
聽聽聽聽聽聽聽return 0;
}
榪欐牱寰楀埌杈撳嚭鐨勭粨鏋滄槸涓嶇‘瀹氱殑銆?/font>
鍥犱負鍦ㄨ繖閲屽垱寤虹殑鏄竴涓┖ string 綾伙紝
闀垮害涓?錛屽間負""(絀?銆?/font>
鍥犳涓嶅瓨鍦╯tr[0]銆?/font>
鍦ㄥ嚱鏁板唴瀹氫箟浜嗕竴涓竴鐧句竾鐨勬暟緇勩?/font>
緙栬瘧銆佽繛鎺ユ病闂錛屼絾鎵ц鏃跺氨浼氭彁紺哄爢鏍堟孩鍑恒?/font>
浣嗗畾涔夊叏灞鍙橀噺鍗存病鏈夐棶棰樸?/font>
璋佽兘緇欐垜瑙i噴涓涓嬩負浠涔堬紵
瀵逛簬涓嬮潰涓孌電▼搴忥細
#include<iostream>
using namespace std;
int main()
{
聽聽聽聽 for(int i=0;i<10;i++)
聽聽聽聽 {/*content*/}
聽聽
聽聽聽聽 for(int i=0;i<10;i++)
聽聽聽聽 {/*content*/}聽聽聽
聽聽聽聽聽聽return 0;
}
鍦╒C 6.0緙栬瘧鍣ㄤ腑鏄渋鈥?redefinition銆?/font>
鑰屽湪Dev-C++緙栬瘧鍣ㄤ腑鏄畬鍏ㄦ紜殑銆?/font>
鎴戜篃涓鐩存悶涓嶆竻妤歩鐨勪綔鐢ㄥ煙鏄粈涔堛?/font>
鐩村埌鐪嬭繃Primer鍚庢墠鐭ラ亾鏈変竴縐嶄綔鐢ㄥ煙鍙仛鈥滆鍙ヤ綔鐢ㄥ煙鈥濄?/font>
灝辨槸璇村氨涓婅堪闂鐨刬鍙兘鍦╢or璇彞涓嬌鐢ㄣ?/font>
榪欏氨鏄榪欐槸VC 6.0鐨勪竴涓狟ug,鐪熸槸榪欐牱鍚楋紵
聽
棰樼洰璇存槑瑕佽緭鍏ョ殑瀛楃涓查暱搴︽渶澶氫負8銆?/font>
鍥犳鎴戝氨鍙敵璇蜂簡8涓瓧絎︺?/font>
緇撴灉褰撶劧灝辨槸閿欎簡銆?/font>
鍏跺疄瀛楃鏁扮粍闇瑕佷竴涓瓨鍌ㄥ崟鍏冩潵淇濆瓨緇撴潫絎︹淺0鈥濓紝
鐢ㄦ潵璇存槑涓涓瓧絎︿覆緇撴潫浜嗐?/font>
鍥犳瑕佺敵璇鋒瘮瀛楃涓插涓涓瓨鍌ㄥ崟鍏冪殑闀垮害銆?/font>
璁頒綇浜嗭紒錛?/font>
浠庢涓嶈兘鐘悓鏍烽敊璇紒