freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c程序設(shè)計(jì)(第2版)第七章習(xí)題解答-wenkub.com

2025-03-24 23:34 本頁面
   

【正文】 templatetypename Tvoid listT::MakeEmpty(){ NodeT *temp。 //查看鏈頭數(shù)據(jù) void MakeEmpty()。} //鏈空否? void EnRear(const T amp。templatetypename Tclass list{ NodeT *front,*rear。} //設(shè)置結(jié)點(diǎn)的指針}。 //獲得結(jié)點(diǎn)數(shù)據(jù) NodeT* Getlink(){return link。public: Node(){link=NULL。}//includeiostreamincludecassertusing namespace std。 while(!()) cout()。i++) (str1[i])。 Queuechar que。}//置空隊(duì)列,與析構(gòu)邏輯上不同,物理上一樣 void EnQueFront(const T amp。data){(data)。//includetemplatetypename Tclass Queue{ listT que。 return 0。i++) (str1[i])。i17。}int main(){ int i。 delete temp。 }}templatetypename TT QueueT::DeQue(){ assert(!IsEmpty())。data){ //從隊(duì)頭入隊(duì) NodeT *p=new NodeT(data,NULL)。}templatetypename Tvoid QueueT::EnQue(const T amp。 while(front!=NULL){ temp=front。 //置空隊(duì)列,與析構(gòu)邏輯上不同,物理上一樣 void EnQueFront(const T amp。)。public: Queue(){rear=front=NULL。templatetypename T NodeT::Node(T data,Node *l){ info=data。public:Node(){link=NULL。解1:includeiostreamincludecassertusing namespace std。j++) elements[j]=el[j]。 elements=new T [maxSize]。 //超出順序表有效范圍則出錯(cuò),退出程序 return elements[i]。 //順序表已空則不能彈出,退出程序 return elements[last]。data){ if(IsFull()) { cout順序表滿endl。i++) coutelements[i]39。 elements=new T [maxSize]。} //判順序表滿 void Printseqlist()。 //取數(shù)據(jù),last不變 void seqlistFull()。} void Push_back(const T amp。 //順序表最大下標(biāo) T *elements。 //注意先進(jìn)后出 coutendl。 for(i=0。 i=0。 for(i=0。} //判棧滿 void PrintStack(){()。} //壓棧 T Pop(){return ()。//includetemplatetypename Tclass Stack{ seqlistT stack。 //注意先進(jìn)后出 coutendl。 for(i=0。 i=0。 for(i=0。j++) elements[j]=el[j]。 elements=new T [maxSize]。 //超出棧有效范圍則出錯(cuò),退出程序 return elements[i]。 //棧已空則不能退棧,退出程序 return elements[top]。data){ if(IsFull()) { cout棧滿endl。i++) coutelements[i]39。 elements=new T [maxSize]。} //判棧滿 void PrintStack()。 //取數(shù)據(jù),top不變 void StackFull()。} void Push(const T amp。 //棧頂指針(下標(biāo)) T *elements。} 修改順序棧類,當(dāng)棧滿時(shí),執(zhí)行StackFull()操作;動(dòng)態(tài)創(chuàng)建一個(gè)是原來的??臻g的兩倍的空間,把原來?xiàng)V械膬?nèi)容放入新棧,再刪除原棧空間。 cout清空鏈表endl。 else cout未查到結(jié)點(diǎn)數(shù)據(jù)endl。 cout雙向鏈表長度:()endl。i++) (b[i])。 cout雙向鏈表長度:()endl。 int b[11]={1,3,12,13,17,24,30,45,53,63,69}。 tdp2=tdp2rlink。 tdp2=tdp2rlink。amp。}templatetypename Tvoid DblListT::Merge(DblListT amp。 current=headrlink。\t39。 if(current==head) current=NULL。}templatetypename T DblNodeT* DblListT::Find(T data){ current=headrlink。 else{ //結(jié)點(diǎn)摘下 pllinkrlink=prlink。 while(current!=headamp。 //注意次序 currentllink=headllink。 //current指針恢復(fù)}templatetypename T void DblListT::Insert(const T amp。 headrlink=tempPrlink。}templatetypename T DblListT::~DblList(){ MakeEmpty()。 //歸并 //其它操作}。 //搜索數(shù)據(jù)與定值相同的結(jié)點(diǎn) void MakeEmpty()。 DblNodeT* Remove(DblNodeT* p)。public: DblList()。}templatetypename T DblNodeT::DblNode(T data){ info=data。}。 //數(shù)據(jù)域 DblNodeT *llink,*rlink。)。} 將兩個(gè)有序的雙向鏈表合并為一個(gè)有序的雙向鏈表,刪去相同結(jié)點(diǎn)。 list=list1+list2。i++){ P1=(a[i]+10)。//向后生成list1 } cout輸出list1:endl。 for(i=0。//再用第二個(gè)....}//先用第一個(gè)結(jié)點(diǎn),與后面結(jié)點(diǎn)逐個(gè)比較,有重復(fù)的就刪去;再用第二個(gè).... return ls。//刪去后P2空懸 (P2)。 } P1=Getlink()。 //新鏈表,生命期僅在本函數(shù)域中 NodeT* P1=Getlink(),*P2,*P3。 } return *this。 P1link=taillink。 ListT::operator=(ListT amp。 ,ListT amp。 //構(gòu)造函數(shù),生成頭結(jié)點(diǎn)(空鏈表) …… ListT amp。templatetypename Tclass Node{ ……public: ……NodeT*Getlink(){return link。+運(yùn)算符先建立一個(gè)局部鏈表,拷入被加鏈表,再以加鏈表的數(shù)據(jù)域生成局部鏈表后面的結(jié)點(diǎn),最后去除數(shù)據(jù)域相同的結(jié)點(diǎn)。 //脫離下來的結(jié)點(diǎn)重新向前生成翻轉(zhuǎn)后的新鏈表 }} 為單鏈表重載“+”運(yùn)算符,實(shí)現(xiàn)兩個(gè)單鏈表對象的連接,但要去除數(shù)據(jù)域相同的結(jié)點(diǎn)。 headlink=NULL。templatetypename T void ListT::Reverse(){//鏈表翻轉(zhuǎn)函數(shù) NodeT*p1,*tempP。 cout輸出逆轉(zhuǎn)后的list1:endl。 (P1)。i++) cina[i]。 int a[16],i。 tempQlink=NULL。 while(tempPlink!=NULL){ tempQ=tempP。 p1link=headlink。//翻轉(zhuǎn)鏈表}。templatetypename Tclass Node{ ……}。對多結(jié)點(diǎn)鏈表,用尾指針指向第一個(gè)結(jié)點(diǎn),找到該尾鏈表最后一個(gè)結(jié)點(diǎn)重新鏈到原頭結(jié)點(diǎn)后面;再找到該尾鏈表最后一個(gè)結(jié)點(diǎn),并如此向后生成鏈表,就可以逆轉(zhuǎn)鏈表。} 試為單鏈表類模板設(shè)計(jì)一個(gè)將鏈表逆轉(zhuǎn)的成員函數(shù)。 ()。 ()。 //向前生成list1 } cout輸出list1:endl。 //隨機(jī)輸入16個(gè)整數(shù) for(i=0。 cout請輸入16個(gè)整數(shù)endl。 } return TempP。 while(TempP!=NULLamp。}templatetypename T NodeT* ListT::GetNode(int i){//取出鏈表中第K個(gè)元素(從1開始) NodeT*TempP=headlink。 while(TempP!=NULL){ //也可以利用尾指針 if(TempPinfo==p){ delete TempR。 return tempPRemoveAfter()。 while(tempPlink!=NULLamp。 //插在tempP指向結(jié)點(diǎn)之前,tempQ之后 if(tail==tempQ) tail=tempQlink。 //tempQ指向tempP前面的一個(gè)節(jié)點(diǎn) while(tempP!=NULL){ if(pinfotempPinfo)break。}templatetypename Tvoid ListT::InsertRear(NodeT *p){ plink=taillink。 } coutendl。}templatetypename Tvoid ListT::PrintList(){ NodeT* tempP=headlink。 int count=0。amp。 //把頭結(jié)點(diǎn)后的第一個(gè)節(jié)點(diǎn)從鏈中脫離 delete tempP。 } return *this。 P1link=taillink。 ListT::operator=(ListTamp。 TempP=TempPlink。 while(TempP!=NULL){ P1=new NodeT(TempPinfo)。templatetypename TListT::List(){ head=tail=new NodeT()。 //刪除指定結(jié)點(diǎn) NodeT*RemoveAll(T amp。 //可用來向前生成鏈表,在表頭插入一個(gè)結(jié)點(diǎn) void InsertRear(NodeT* p)。 //清空一個(gè)鏈表,只余表頭結(jié)點(diǎn) NodeT* Find(T data)。 //析構(gòu)函數(shù) Listamp。//鏈表頭指針和尾指針public: List()。 return tempP。 link=p。}template typename T NodeT::Node(const T amp。 Getinfo()。 data)。templatetypename Tclass Node{ T info??截悩?gòu)造函數(shù)先建立一個(gè)頭結(jié)點(diǎn),再以原鏈表的各結(jié)點(diǎn)的數(shù)據(jù)域來構(gòu)造新鏈表的各對應(yīng)結(jié)點(diǎn)。 return 0。 cini。 } else cout無要?jiǎng)h除的結(jié)點(diǎn)!endl。 n1=(m)。i++){ P1=(sp[i])。\t39。 cout按原始數(shù)據(jù)次序輸出:endl。 int i。 j++。 if(i==0) return head。 } return TempR。 NodeT*TempP=headlink,*Temp
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1