付費(fèi)下載
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
#definerep(i,n)for(i=0;i<n;i++)inti#defineEPS inlineintdcmp(doublex){if(x<-EPS)return-1;returnx>EPS;}intsize=256<<20;//char*p=(char*)malloc(size)+asm("movl%0,%%esp\n""r"(p));//TApptasm unsignedlong longlong的最大值:9,223,372,036,854,775,807 longlong的最小值:- unsignedlonglong的最大值 reverseinclude<algorithm>boolComp(constint&a,constint{return}入棧,如例出棧,如例:s.pop();棧頂,如例棧中的元素個(gè)數(shù),如例:s.size()入隊(duì),如例:q.push(x);將x出隊(duì),如例:q.pop();判斷隊(duì)列空,如例:q.empty(true隊(duì)列中的元素個(gè)數(shù),如例6.#include<iostream>#include<algorithm>#include<vector>usingnamespacestd;intmain(){intmyints[]={10,20,30,5,15};vector<int>v(myints,myints+5);vector<int>::itorit;cout<<"initialmax :"<<v.front()<</*pop_heapv.begin(),v.end());//pop_heapfirst,end-1]coutmaxheapafterpopv.frontendl;push_heapv.begin(),v.endcout<<"maxheapafterpush:"<<v.front()<<endl;sort_heapv.begin(),v.end());//把樹(shù)的結(jié)點(diǎn)的權(quán)值進(jìn)行排序/*for(intj=0;j<v.size();j++)cout<<v[j]<<'';cout<<"finalsortedrangefor(unsignedi=0;i<v.size();i++)cout<<""<<v[i];cout<<endl;return0;}set集合容:實(shí)現(xiàn)了樹(shù)的平衡二叉檢索樹(shù)的數(shù)據(jù)結(jié)構(gòu),插入元素時(shí),它會(huì)自動(dòng)整二叉樹(shù)的排列,把元素放到適當(dāng)?shù)奈恢茫员WC每個(gè)子樹(shù)根節(jié)點(diǎn)鍵值大于左子樹(shù)所有節(jié)點(diǎn)的鍵值,小于右子樹(shù)所有節(jié)點(diǎn)的鍵值;另外,還得保證根節(jié)點(diǎn)左子樹(shù)的高度與右子樹(shù)高度相等。vector、dequelist等容器,另外使用setvector遍歷(用迭代器set<int>set<int>::reverse_itorrit;元素刪除:與插入一樣,可以高效的刪除,并自動(dòng)調(diào)整使樹(shù)平衡set<int> //2set<int>s;set<int>::itorit; //5 {booloperator()(constyour_type&a,constyour_type&b)returna.data-}} p>::itorstruct{stringname;floatscore;booloperator<(constInfo&a){//scorereturn}}set<Info>set<Info>::itor此文是來(lái)的map<string,int>mapstring;map<int,string>mapint;map<sring,char>mapstring;map<char,string>mapchar;map<char,int>mapchar;map<int,char>mapint;mapmap<intmaplive[112]="April";//mapfind()keymap尾部的map<int,string>::itorl_it;;cout<<"wedonotfind112"<<endl;elsecout<<"wofind112"<<endl;cout<<"wedonotmap中元素的刪除:112;map<int,string>::itorl_it;;l_it=maplive.find(112);if(l_it==maplive.end())cout<<"wedonotfind112"<<endl;elsemaplive.erase(l_it);//deletevoid*memset(void*s,intc,size_tchar*stpcpy(char*dest,constcharsrcdestdestlen(src)char*strcpy(char*dest,constcharchar*strcat(char*dest,constchar平時(shí)對(duì)字符串的操作的是很多的,了解下常用的字符串函數(shù)會(huì)使c編程變得很快捷!這里#include一、str系列externchar*strtok(char*s,constchar*delim功能:分解字符串為一組標(biāo)記串。s,delim說(shuō)明:strtok(strtok()s數(shù)delim的分割字符時(shí)則會(huì)將該字符改為\0字符。在第一次調(diào)用時(shí),strtok()必需給予ss設(shè)置成NULL。每次調(diào)用成功則返回被分割出片段NULLdelim/*strtokexample*/#include<stdio.h>#include<string.h>intmain(void){charstr[]="-This,asamplecharprintf("Splittingstring\"%s\"intotokens:\n",pch=strtok(str,",.-while(pch!= printf("%s\n", pch=strtok(NULL,",.-printf("attheend:%s",return}Splittingstring"-This,asamplestring."intotheend:-This注:strtoks似制表符\t無(wú)法充當(dāng)分割字符。char*strstr(constchar*str1,constchar*str2功能:從字符串str1中尋找str2第一次出現(xiàn)的位置(NULL),如果沒(méi)找到則返回NULL。/*strstrexample*/#include<stdio.h>#include<string.h>intmain(){charstr[]="Thisisasimplecharpch=strstr(str,strncpy(pch,"sample",return}sampleThisisasamplechar*strchr(constchar*str,intch功能:查找字符串str中首次出現(xiàn)字符ch的位置說(shuō)明:返回首次出現(xiàn)ch的位置的指針,如果str中不存在ch則返回NULL/*strchrexample*/#include<stdio.h>#include<string.h>intmain(){charstr[]="Thisisasimplecharprintf("Lookingforthe's'characterin\"%s\"...\n",pch=strchr(str,while(pch!= printf("foundat%dth\n",pch-str+ pch=strchr(pch+1,return}Lookingforthe's'characterin"Thisisasimplestring"...foundat4thfoundat7thfoundat11thfoundat18char*strcpy(char*dest,constchar*src功能:把src所指由NULL結(jié)束的字符串到dest所指的數(shù)組中說(shuō)明:src和dest所指內(nèi)存區(qū)域不可以且dest必須有足夠的空間來(lái)容納src的字符串。返回指向dest結(jié)尾處字符(NULL)的指針。char*strncpy(char*dest,constchar*src,size_tnum非庫(kù)函數(shù),用法跟strcpy完全一樣char*strcat(char*dest,constchar*src功能:把src所指字符串添加到dest結(jié)尾處(覆蓋dest0')并添加'\0'說(shuō)明:src和dest所指內(nèi)存區(qū)域不可以且dest必須有足夠的空間來(lái)容納src的字返回指向dest的指針。類(lèi)似的char*strncat(char*dest,constchar*src,size_tnumintstrcmp(constchar*str1,constchar*str2功能:比較字符串str1和str2。s1<s20s1=s20s1>s2intstrncmp(constchar*str1,constchar*str2,size_tnumexternintstrcasecmp(constchar*str1,constcharexternintstrncasecmp(constchar*str1,constchar*str2,size_tsize_tstrcspn(constchar*str1,constchar*str2功能:在字符串s1中搜尋s2中所出現(xiàn)的任一個(gè)字符。說(shuō)明:返回出現(xiàn)s2中字符時(shí)已讀入的字符數(shù),亦即在s1中出現(xiàn)而s2中沒(méi)有出現(xiàn)的子/*strcspnexample*/#include<stdio.h>#include<string.h>intmain(){charstr[]=charkeys[]= inti=strcspn(str,printf("Alreadyread%dcharacters\n",printf("Thefirstnumberinbothstrandkeysis%dth\n",i+return}類(lèi)似的strspn(Returnsthelengthoftheinitialportionofstr1whichconsistsonlyofcharactersthatarepartofstr2.)size_tstrspn(constchar*str1,constchar*str2#include<stdio.h>#include<string.h>intmain{charstr[]=charkeys[]= inti=strspn(str,printf("thebeginning%dcharactersareallinkeys\n",return}thebeginning4charactersareallinsize_tstrlen(constchar*str功能:計(jì)算字符串str的長(zhǎng)度說(shuō)明:返回str的長(zhǎng)度,不包括結(jié)束符NULL。(注意與sizeof的區(qū)別類(lèi)似的size_tstrnlen(constchar*str,size_texternchar*strdup(char*str功能:字符串說(shuō)明:返回指向被的字符串的指針,所需空間由malloc()分配且可以 #include<stdio.h>#include<string.h>intmain(){char*str= char*p=printf("theduplicatedstringis:%s\n",return}二、mem系列void*memset(void*ptr,intvalue,size_tnum功能:把ptr所指內(nèi)存區(qū)域的前num個(gè)字節(jié)設(shè)置成字符value。說(shuō)明:返回指向ptr的指針??捎糜谧兞砍跏蓟炔僮?include<stdio.h>#include<string.h>intmain(){charstr[]="almostereryprogramershouldknowmemset(str,'-',printf("thestris:%snow\n",return}void*memmove(void*dest,constvoid*src,size_tnum功能:由src所指內(nèi)存區(qū)域num個(gè)字節(jié)到dest所指內(nèi)存區(qū)域說(shuō)明:src和dest所指內(nèi)存區(qū)域可以,但后src內(nèi)容會(huì)被更改。函數(shù)返回指dest#include<stdio.h>#include<string.h>intmain{charstr[]="memmovecanbevery memmove(str+20,str+15,printf("thestris:%s\n",return}thestris:memmovecanbeveryveryvoid*memcpy(void*destination,constvoid*source,size_tnum類(lèi)似strncpy。區(qū)別:拷貝指定大小的內(nèi)存數(shù)據(jù),而不管內(nèi)容(不限于字符串)intmemcmp(constvoid*ptr1,constvoid*ptr2,size_tnum類(lèi)似void*memchr(constvoid*buf,intch,size_t功能:從buf所指內(nèi)存區(qū)域的前count個(gè)字節(jié)查找字符ch說(shuō)明:當(dāng)?shù)谝淮斡龅阶址鹀h時(shí)停止查找。如果成功,返回指向字符ch的指針;否則返回NULL。函數(shù)功能:從標(biāo)準(zhǔn)輸入設(shè)備(stdin)──鍵盤(pán)上,1個(gè)字符串(可以包含空格),取代字符串的結(jié)束‘標(biāo)志\0puts()函數(shù)輸出字符串時(shí),不要求另加換行符。 1151.Magic Createdbyon14-10- Copyright(c)2014年楊浦城.Allrights#include<iostream>#include<stack>usingnamespacestd;longintfac[]={1,1,2,6,24,120,720,5040,40320,362880};//表示階乘運(yùn)算的結(jié)果structnode{ intinty[4];intop;int //levelint nodeboolvoidmethodA(node&temp,int //A{temp.level=arr[ptr].level+1;temp.father=ptr;temp.op=for(inti=0;i<4;{temp.x[i]=temp.y[i]=}}voidmethodB(node&temp,int //B{temp.level=arr[ptr].level+1;temp.father=ptr;temp.op=for(inti=1;i<={temp.x[i]=arr[ptr].x[i-temp.y[i]=arr[ptr].y[i-}temp.x[0]=temp.y[0]=}voidmethodC(node&temp,int //C{temp.level=arr[ptr].level+1;temp.father=ptr;temp.op=for(inti=0;i<4;{if(i!=2||i!={temp.x[i]=temp.y[i]=}}temp.x[1]=temp.x[2]=temp.y[2]=temp.y[1]=}intCantor(ints[],int {inti,j,num,temp;{temp=0;//temp }return}intcountkt(intx[],inty[]){inta[8];for(inti=0;i<4;i++){a[i]=x[i];a[i+4]=}returnCantor(a, boolcompare(nodegoal,int{returncountkt(goal.x,goal.y)==countkt(arr[ptr].x,}boolinarr(node {returnis_visited[countkt(temp.x,}intmain(intargc,constchar*{intlast,former,count,n;std::stack<int>opst;while((std::cin>>n)&&n!=-1){for(inti=0;i<40320;i++){is_visited[i]=false;}nodetemp,goal,original;count=1;while(!opst.empty()){}for(inti=0;i<4;i++){std::cin>>goal.x[i];}for(inti=0;i<4;i++){std::cin>>goal.y[i];}for(inti=0;i<4;i++){original.x[i]=i+1;}for(inti=0;i<4;i++){original.y[i]=8-i;}original.op=-original.level=original.father=-arr[0]=original; is_visited[countkt(original.x,original.y)]=true; if(compare(goal,0)) AA”
std::cout<<"0"<<std::endl;}last=former=while if(count== elseif(count==2) if(temp.leveln) }
cout<<"-1"<<endl;
if if(count==3) count=1;} }else 中arr[++former]=temp;is_visited[countkt(temp.x,temp.y)]=true;if(count==3){count=1;}else}if(!compare(goal,former)) elsewhile(arr[former].father1) }
former=arr[former].father;}cout<<opst.size()<<"while(!opst.empty()){ cout<<(char)('A'+opst.top()-1);}cout<<endl;}}return下面是以前的筆 與之完全相反的函數(shù)還有intint{inta[3];{cout<<a[0]<<""<<a[1]<<"while(next_permutation(a,a+3));3//如果存在atrueafalse,每執(zhí)行一次,a}12232如果改成1221while(next_permutation(a,a+1));則只輸出:12intlist[3]={3,2,1};cout<<list[0]<<""<<list[1]<<"12charint{charch[205];cin>>ch;sort(ch,ch+strlen(ch) cout<<ch;將輸char*first=char*last=ch+strlen(ch);do{cout<<ch<<}while(next_permutation(first,last));return0;}while(next_permutation(ch,ch+5));1562,就會(huì)產(chǎn)生錯(cuò)誤,因?yàn)閏hstringint{stringline;{if(next_permutation(line.begin(),line.end()))else}}int{stringline;{}}【問(wèn)題 求兩字符序列的最長(zhǎng)公符子序符(可能一個(gè)也不去掉)“BCDBXA=“a0,a1,…,am-1”,B=“b0, 如果am-1=bn-1zk-1=am-1=bn-1,且“z0,z1,…,zk-2”是“a0,a1,…, 如果am-1!=bn-1zk-1!=am-1,蘊(yùn)涵“z0,z1,…,zk-1”是“a0, 如果am-1!=bn-1zk-1!=bn-1,蘊(yùn)涵“z0,z1,…,zk-1”是“a0,這樣,在找A和B的公共子序列時(shí),am-1=bn-1,則進(jìn)一步解決一個(gè)子問(wèn)題,找“a0,a1,…,am-2”和“b0,b1,…,bm-2am-1!=bn-A和Bc[][c[i][jX[i]Y[j]LCS,b[i][j]c[i,j]之前,c[i-1][j-1],c[i-1][j]與c[i][j-1X[i]Y[j]X[i]Y[j],就可以計(jì)算出由于每次調(diào)用至少向上或向左(或向上向左同時(shí))移動(dòng)一步,故最多調(diào)用(mn)次就會(huì)遇i=0j=
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年中小銀行數(shù)據(jù)管理策略與實(shí)踐報(bào)告-
- 小學(xué)衛(wèi)生檢測(cè)制度
- 肝移植術(shù)后輸血策略?xún)?yōu)化
- 肝內(nèi)膽管結(jié)石合并膽道出血的機(jī)器人手術(shù)止血策略
- 公有制為主體的課件新
- 聯(lián)合疫苗的聯(lián)合接種策略與國(guó)際合作
- 公文寫(xiě)作在線(xiàn)培訓(xùn)課件
- 體育理論知識(shí)試講
- 聯(lián)合培養(yǎng)項(xiàng)目
- 2026年律師刑事辯護(hù)技巧與策略試題庫(kù)
- 初高中生物知識(shí)銜接課件
- 2026國(guó)家國(guó)防科技工業(yè)局所屬事業(yè)單位第一批招聘62人備考題庫(kù)及完整答案詳解一套
- 道路隔離護(hù)欄施工方案
- (2025年)軍隊(duì)文職考試面試真題及答案
- 新版-八年級(jí)上冊(cè)數(shù)學(xué)期末復(fù)習(xí)計(jì)算題15天沖刺練習(xí)(含答案)
- 2025智慧城市低空應(yīng)用人工智能安全白皮書(shū)
- 云南師大附中2026屆高三月考試卷(七)地理
- 通信管道施工質(zhì)量控制方案
- 仁愛(ài)科普版(2024)八年級(jí)上冊(cè)英語(yǔ)Unit1~Unit6單元話(huà)題作文練習(xí)題(含答案+范文)
- 安徽寧馬投資有限責(zé)任公司2025年招聘派遣制工作人員考試筆試模擬試題及答案解析
- 2024-2025學(xué)年云南省昆明市五華區(qū)高一上學(xué)期期末質(zhì)量監(jiān)測(cè)歷史試題(解析版)
評(píng)論
0/150
提交評(píng)論